[JAVA] Punkt 51: Signaturen der Entwurfsmethode sorgfältig
51. Entwerfen Sie die Signatur der Methode sorgfältig
- Methodennamen sollten sorgfältig ausgewählt werden. Es sollte leicht zu verstehen sein und mit anderen Namen im Paket übereinstimmen. Geben Sie auch einen Namen an, der allgemein anerkannt ist. Schauen Sie sich im Zweifelsfall die Java Library API als Anleitung an (einige sind nicht gut, aber viele sind gut).
- Stellen Sie keine nützlichen Methoden zur Verfügung. Es kann schwierig sein, zu viele Methoden zu erlernen, zu verwenden, zu dokumentieren, zu testen und zu warten. Sie sollten eine Methode bereitstellen, mit der Sie die Beschreibung nur dann weglassen können, wenn sie häufig verwendet wird. Wenn Sie sich verlaufen, schaffen Sie es nicht.
- Die Anzahl der Argumente sollte nicht groß sein. Die Anzahl der Argumente sollte auf 4 oder weniger gehalten werden. Der Benutzer kann sich nicht an viele Argumente erinnern, daher muss er sie beim Betrachten der Referenz verwenden. Vor allem, wenn Sie viele Argumente des gleichen Typs haben. Dies liegt daran, dass selbst wenn die Reihenfolge der Argumente falsch ist, kein Kompilierungsfehler auftritt und die Verarbeitung möglicherweise anders als beabsichtigt ausgeführt wird. Es gibt drei Techniken, um die Anzahl der Argumente zu reduzieren.
- Teilen Sie eine Methode in mehrere Methoden. (** Ich habe Beispiele für sublist, indexOf und lastIndexOf of List angegeben, bin mir aber nicht sicher **)
- Erstellen Sie eine Hilfsklasse. Wenn es beispielsweise etwas gibt, das das Muster und die Nummer von Trump als Argument verwendet, erstellen Sie eine Entität, die das Muster und die Nummer zusammenfasst, und nehmen Sie es als Argument.
- Verwenden Sie das Builder-Muster. (Punkt 2)
- Argumenttypen sollten Vorrang vor konkreten Klassen vor Schnittstellen haben. Wenn Sie es zu einer konkreten Klasse machen, muss der Benutzer der Methode eine bestimmte Implementierung implementieren, wodurch manchmal eine kostspielige Kopie erzwungen wird.
- boolean Sollte eher eine binäre Aufzählung als ein Argument sein. Weil Enum später einfacher zu erweitern ist (von 2 auf 3 Elemente). Enum kann auch Methoden enthalten. (Punkt 34)