Z.B.
boolean isCurrent = false;
Wie nennt man Getter und Setter?
java
coding-style
naming-conventions
javabeans
user496949
quelle
quelle
Antworten:
Angenommen, Sie haben
Accessors Methode wäre
Siehe auch
quelle
hasCustomName
. Was soll ich nun für die Getter- und Setter- Methoden nennen? IstsetHasCustomName[setter]
undhasCustomName[getter]
gut?public boolean isCustomerName(){return this.customerName;} public void setCustomerName(boolean customerName){this.customerName= customerName;}
http://geosoft.no/development/javastyle.html#Specific
quelle
hasData
, wie würde der Setter aussehen?setData(bool hasData)
Sieht für mich mit Sicherheit furchtbar falsch aus ...has
,can
,should
Präfixe nicht Teil der Spezifikation sind. Referenz JavaBeans Specification 1.01 Abschnitt 8.3.boolean isIsCurrent(){...}
sonst verwenden musste, beschwerte sich das Framework, mit dem das Objekt deserialisiert wurdegetter not found for property isCurrent
.Für ein benanntes Feld
isCurrent
lautet die korrekte Getter- / Setter-BenennungsetCurrent()
/isCurrent()
(zumindest denkt Eclipse das), was sehr verwirrend ist und auf das Hauptproblem zurückgeführt werden kann:Ihr Feld sollte nicht
isCurrent
an erster Stelle aufgerufen werden . Is ist ein Verb und Verben sind unangemessen, um den Zustand eines Objekts darzustellen. Verwenden Sie stattdessen ein Adjektiv, und plötzlich sind Ihre Getter- / Setter-Namen sinnvoller:quelle
get
Präfix, wenn einBoolean
vsis
für aboolean
Ich glaube es wäre:
quelle
Vielleicht ist es an der Zeit, diese Antwort zu überarbeiten? Persönlich würde ich stimmen
setActive()
undunsetActive()
(Alternativen sein könnensetUnActive()
,notActive()
,disable()
etc. je nach Kontext) , da „setActive“ bedeutet , dass Sie aktivieren es zu allen Zeiten, die Sie nicht tun. Es ist irgendwie kontraintuitiv, "setActive" zu sagen, aber den aktiven Zustand tatsächlich zu entfernen.Ein weiteres Problem ist, dass Sie ein SetActive-Ereignis nicht auf CQRS-Weise spezifisch abhören können. Sie müssten ein 'setActiveEvent' abhören und in diesem Listener feststellen, ob es tatsächlich aktiv ist oder nicht. Oder bestimmen Sie natürlich, welches Ereignis beim Anruf aufgerufen werden soll,
setActive()
aber das widerspricht dann dem Prinzip der Trennung von Bedenken.Eine gute Lektüre dazu ist der FlagArgument-Artikel von Martin Fowler: http://martinfowler.com/bliki/FlagArgument.html
Ich komme jedoch aus einem PHP-Umfeld und sehe, dass dieser Trend immer mehr übernommen wird. Ich bin mir nicht sicher, wie viel das mit der Java-Entwicklung zu tun hat.
quelle
quelle
has
, für BO oder einen solchen Dienst mit etwas Verarbeitung verwendet, während es für POJO istis
. und bitte fügen Sie eine Beschreibung Ihrer Antwort hinzu.Für Boolesche Werte können Sie auch verwenden
quelle
Wie wäre es als Setter mit:
oder
Ich bin mir nicht sicher, ob diese Benennung für englische Muttersprachler sinnvoll ist.
quelle