Ich habe es immer als sehr nützlich empfunden, die Java Beans Namenskonventionen einzuhalten: getX()
, setX()
, isX()
, etc. Ich denke, die Java Bean Namenskonventionen bieten einige Hauptvorteile:
Ich weiß, dass es viele Klassen gibt, die Teil der Java API sind, die nicht die Java Beans Namenskonventionen verwenden. Ein Beispiel wäre ArrayList
, das Methoden wie size()
hat.
Ich habe eigentlich zwei Hauptfragen:
ArrayList
geschrieben wurde, bevor Java Beans herauskam. Ist es üblich, dass Oracle die Namenskonventionen für Java Beans für alle (oder zumindest die meisten) neuen Inhalte verwendet? Das Folgende ist eher, um die Leute zum Nachdenken zu bringen als eine Frage.
Wie ich oben gesagt habe, habe ich mich immer an die Java Bean Namenskonventionen gehalten. Ich denke, sie bieten eine Menge Vorteile in vielerlei Hinsicht. Ich denke, das größte Problem ist, dass ohne Java Beans viele Leute verwirrende Namenskonventionen verwenden.
Ich glaube persönlich , dass das Folgende immer eingehalten werden sollte, und ich bin gespannt, was die Leute darüber denken:
big()
isBig()
sein. size()
ist eine geeignete Methode für ein House
-Objekt, aber door()
nicht. Der Grund dafür ist, dass size
eine Erbeneigenschaft von house
ist, die von der Natur entschieden wurde. Es ist nicht physisch erforderlich, dass house
ein door
hat.
door()
sollte die Methode den Namen getDoor()
. profile()
. Abhängig von der Klasse, zu der es gehört, kann profile()
ein Verb oder ein Nomen sein. Ich könnte etwas profilieren, oder ich könnte das Profil bekommen. Wenn Sie den Namen der Methode in " getProfile()
" oder " doProfiling()
" ändern, würde dies zu einer Klärung führen. Wenn Sie die Namenskonventionen zwischen Variablen und Getter / Setter-Methoden einhalten, können Sie auch Tools verwenden, die auf diesen Konventionen wie BeanUtils und Spring basieren. Während Sie die Namen ändern, um besser lesbar zu sein, verlieren Sie möglicherweise die Fähigkeit, API zu verwenden, die helfen, "Boilerplate" -Code zu entlasten.
Tags und Links java naming-conventions javabeans