'name ()' vs. 'getName ()' Namenskonvention?

8

Ich habe gesehen, dass einige Projekte (zB jsoup) diese neue Getter / Setter-Benennungskonvention verwenden:

%Vor%

anstelle von altem Getter / Setter convention:

%Vor%

Was sind positive und negative Aspekte jeder Namenskonvention? Wann und warum denkst du, dass man dem anderen vorgezogen werden sollte?

    
Ali Shakiba 29.08.2012, 23:41
quelle

5 Antworten

9

Das erste Beispiel entspricht nicht der JavaBeans Spezifikation [Warning PDF]. Es gibt bestimmte Frameworks wie Spring, die diese Namenskonvention annehmen, besonders wenn Sie etwas in EL wie ${object.name} machen, was in object.getName() übersetzt wird. Dies wird fehlschlagen, wenn Sie den Namenskonventionen nicht folgen (obwohl es Wege gibt, um es zu umgehen).

Ohne in eine Diskussion darüber zu kommen, wann / ob Getter / Setter zu verwenden sind, ist es im Allgemeinen besser, sich an die Namenskonvention zu halten, da es weniger Überraschungen gibt, insbesondere wenn Sie Bibliotheken von Drittanbietern integrieren erwarte, dass Dinge nach Konvention benannt werden.

    
Vivin Paliath 29.08.2012 23:44
quelle
3

Nichts außer Lesbarkeit und API-Stil.

Einige APIs akzeptieren diesen Stil und manche nicht, wie Spring injections und JSF können diese Syntax nicht erkennen (sie erfordern explizit das Abrufen / Setzen von Eigenschaften).

    
kosa 29.08.2012 23:43
quelle
3

Ich möchte einfach name() verwenden, wenn das Objekt, mit dem ich es zu tun habe, unveränderlich ist, d. h. ich würde niemals den Wert des Feldes name ändern. Wenn ich mit einem veränderlichen Objekt zu tun habe, würde ich die zweite Konvention verwenden, die Sie erwähnt haben, einfach weil ich denke, dass es in Bezug auf die Lesbarkeit überlegen ist.

    
arshajii 29.08.2012 23:44
quelle
2

Ich bevorzuge immer Verben für den Methodennamen, das gilt auch für Getter und Setter.

Ich verwende Substantive nur für Variablen .

Folgen Sie dem klassischen JavaBean-Standard, damit ich mich wohler fühle. :)

    
davioooh 30.08.2012 07:33
quelle
1

Ich bevorzuge es, den kürzeren Stil zu verwenden, wenn die Bibliothek niedrig ist und ich möchte klarstellen, dass diese Komponente keine JavaBean ist.

Im Zweifelsfall würde ich den JavaBean-Stil verwenden.

    
Peter Lawrey 30.08.2012 07:33
quelle

Tags und Links