2017-10-05 2 views
0

Gibt es eine Namenskonvention für Methoden, die primitive vs nullable zurückgibt?Namenskonvention für Methode für primitive vs nullable Ergebnisse

Beispiel:

public double getDouble() { 
    //... 
} 

public Double getDouble() { 
    //... 
} 

Ich mag beiden Methoden in meinem Projekt haben, aber ich kann nicht herausfinden, was ein guter Name für die Double sein würde. Ich habe das gleiche Problem mit den Methoden getShort und getInteger.

Edit:

Ich denke, einige von euch mich falsch verstanden. Diese Beispiele sind nur ein Teil meines Codes, um meine Frage zu vereinfachen. Sie sind Teil einer Klasse, die den Wert einer Zeichenkette auf verschiedene Arten zurückgeben kann, getShort, getInt, getDouble usw. In einigen Fällen brauchen wir die Nullable und in anderen brauchen wir die Primitive.

Es gibt einige Gründe, die diesen Ansatz wie Usability für das Team-Mitglieder und Anwendungsfälle, wo welcher Methode um meinen Code

soll rechtfertigen können
+1

Sie müssen den Rückgabetyp nicht im Methodennamen hinzufügen, dies ist bereits ** im Rückgabetyp ** angegeben. Alle IDEs können den Rückgabetyp der Methode anzeigen, sodass keine Mehrdeutigkeit besteht. – Kayaman

+0

Wenn Sie eine Methode haben, die ein Primitiv zurückgibt, liegt es nahe, dass Sie nie null zurückgeben können, so dass Sie die zweite Methode nicht benötigen. – VGR

+1

Es gibt keine Namenskonvention dafür, also machen Sie Ihre eigenen. Ich habe 'double getDouble()' vs 'Double getDoubleObj()' in der Vergangenheit verwendet, aber Sie könnten auch 'Double getBoxedDouble()' oder 'Double getNullableDouble()' verwenden. Es liegt ganz bei Ihnen. – Andreas

Antwort

-1
genannt würden

Sie sind nicht Klassennamen verwenden, oder geben Sie den Getter zu bilden, oder Setter.

Sie sollten den Namen des Objekts oder der Variablen verwenden.

z. für Double length; würde die Getter getLength()

sein, wenn Sie beide wollen, können Sie so etwas wie verwenden:

public double getLength(){ 
    return length; 
} 

public Double getLengthNullable{ 
    //return sth 
} 
+0

Danke für Ihren Vorschlag, ich werde meine Frage bearbeiten, um einige Punkte zu klären – digulino

+0

Gern geschehen. –

0

Nein, es gibt keine Namenskonvention, sollte es zu dokumentieren in der API der entsprechenden Funktion. Jede Methode, die ein Objekt zurückgibt, kann grundsätzlich null zurückgeben.

Seit Java 8 gibt es eine Klasse Optional, die verwendet werden kann, um einen null Rückgabewert zu vermeiden, wodurch das Programm sicherer wird.

public Optional<Double> getSomething() { 
     return Optional.ofNullable(something); 
    } 

Der Anrufer wird in der Lage sein, zu prüfen, ob es ein Wert mit isPresent() ist, oder eine Lambda verwenden, um es mit ifPresent(value -> ....) zu verarbeiten.

Nichts in Java wird Sie jedoch zwingen, Optional zu verwenden, noch gibt es eine Namenskonvention.