Als «parameters» getaggte Fragen

Parameter sind für jedes nicht triviale Programm wichtig, um es generisch und datengesteuert zu gestalten. Parameter sind normalerweise Funktionsargumente, können aber auch Teil der Konfiguration sein.

10
Gibt es einen Namen für das (Anti) Muster der Übergabe von Parametern, die nur auf mehreren Ebenen tief in der Aufrufkette verwendet werden?
Ich habe versucht, Alternativen zur Verwendung globaler Variablen in einem älteren Code zu finden. Bei dieser Frage geht es jedoch nicht um die technischen Alternativen, sondern hauptsächlich um die Terminologie . Die naheliegende Lösung besteht darin, einen Parameter an die Funktion zu übergeben, anstatt einen globalen zu verwenden. In dieser …





7
Wird die Verwendung von Parameternamen, die sich von Typnamen nur durch Groß- und Kleinschreibung unterscheiden, in C # als schlechte Praxis angesehen?
Ich sehe ähnliche Fragen in Bezug auf Parameternamen, die mit den Eigenschaften der Klasse übereinstimmen, kann jedoch nichts in Bezug auf die Verwendung eines Parameternamens finden, der mit dem Namen des Parametertyps identisch ist, mit Ausnahme der Groß- und Kleinschreibung in C #. Es scheint keine Verletzung zu sein, die …

9
Sollte ich leere Sammlungen in meinen Methoden akzeptieren, die über sie iterieren?
Ich habe eine Methode, bei der die gesamte Logik in einer foreach-Schleife ausgeführt wird, die den Parameter der Methode durchläuft: public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } In diesem Fall führt das Einreichen einer leeren Sammlung zu einer …


2
Warum definieren Methoden mit einer unbegrenzten Anzahl von Parametern häufig Überladungen mit weniger Parametern?
Beispielsweise weist die System.IO.Path.CombineMethode in .NET die folgenden Überladungen auf: Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) Was ist der Sinn der letzten drei? Die erste würde sie alle abdecken, als ob Sie genau hinschauen, verwendet es das paramsSchlüsselwort. Das Argument der Abwärtskompatibilität würde nur die …

9
Wie benenne ich eine Methode, die sowohl eine Aufgabe ausführt als auch einen Booleschen Wert als Status zurückgibt?
Wenn es eine Methode gibt bool DoStuff() { try { // doing stuff... return true; } catch (SomeSpecificException ex) { return false; } } sollte es eher heißen IsStuffDone()? Beide Namen können vom Benutzer falsch interpretiert werden: Wenn der Name der DoStuff()Grund ist, wird ein Boolescher Wert zurückgegeben? Wenn der …

3
Optionale Parameter oder überladene Konstruktoren
Ich implementiere eine DelegateCommand, und als ich den oder die Konstruktoren implementieren wollte, hatte ich die folgenden zwei Entwurfsoptionen: 1: Mehrere überladene Konstruktoren public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: Nur einen Konstruktor mit …

3
Warum nicht Funktionsparameter mit Anmerkungen versehen?
Um diese Frage beantworten zu können, nehmen wir an, dass die Mehrdeutigkeit eines Programmierers viel teurer ist als ein paar zusätzliche Tastenanschläge. Warum sollte ich meinen Teamkollegen gestatten, ihre Funktionsparameter nicht zu kommentieren? Nehmen Sie den folgenden Code als Beispiel für einen weitaus komplexeren Code: let foo x y = …
28 f#  parameters 

7
Optionale Parameternamen angeben, obwohl nicht erforderlich?
Betrachten Sie die folgende Methode: public List<Guid> ReturnEmployeeIds(bool includeManagement = false) { } Und der folgende Aufruf: var ids = ReturnEmployeeIds(true); Für einen Entwickler, der neu im System ist, wäre es ziemlich schwierig zu erraten, was truepassiert ist. Bewegen Sie den Mauszeiger zuerst über den Methodennamen oder gehen Sie zur …



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.