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?
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.
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.
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.
Tags und Links java oop naming-conventions