Na przykład.
boolean isCurrent = false;
Jak nazwiesz jego getter i setter?
java
coding-style
naming-conventions
javabeans
user496949
źródło
źródło
Odpowiedzi:
Załóżmy, że tak
Metoda akcesorów byłaby
Zobacz też
źródło
hasCustomName
, jak powinienem nazwać jego metody pobierające i ustawiające ? CzysetHasCustomName[setter]
ihasCustomName[getter]
dobrze?public boolean isCustomerName(){return this.customerName;} public void setCustomerName(boolean customerName){this.customerName= customerName;}
http://geosoft.no/development/javastyle.html#Specific
źródło
hasData
, jak wyglądałby seter? Z całą pewnościąsetData(bool hasData)
wygląda to dla mnie strasznie źle ...has
,can
,should
prefiksy nie są częścią specyfikacji. Zobacz specyfikację JavaBeans 1.01 sekcja 8.3.boolean isIsCurrent(){...}
przeciwnym razie, narzekał framework używany do deserializacji obiektugetter not found for property isCurrent
.Dla pola o nazwie
isCurrent
prawidłowe nazewnictwo pobierające / ustawiające tosetCurrent()
/isCurrent()
(przynajmniej tak myśli Eclipse), co jest bardzo mylące i można je prześledzić wstecz do głównego problemu:Twoje pole nie powinno być
isCurrent
w pierwszej kolejności wywoływane . Jest to czasownik, a czasowniki są nieodpowiednie do reprezentowania stanu obiektu. Zamiast tego użyj przymiotnika, a nagle twoje nazwy pobierające / ustawiające będą miały więcej sensu:źródło
get
prefiksu podczas pobieraniaBoolean
vsis
dla aboolean
Myślę , że byłoby to:
źródło
Może czas zacząć poprawiać tę odpowiedź? Osobiście chciałbym głosować na
setActive()
iunsetActive()
(alternatywy może byćsetUnActive()
,notActive()
,disable()
, itd. W zależności od kontekstu), ponieważ „setActive” zakłada go aktywować w każdej chwili, co nie. Powiedzenie „setActive”, ale w rzeczywistości usunięcie stanu aktywnego jest trochę sprzeczne z intuicją.Innym problemem jest to, że nie można nasłuchiwać konkretnego zdarzenia SetActive w sposób CQRS, trzeba by odsłuchać „setActiveEvent” i określić wewnątrz, czy słuchacz jest ustawiony jako aktywny, czy nie. Lub oczywiście określ, które zdarzenie wywołać podczas dzwonienia,
setActive()
ale jest to sprzeczne z zasadą Separacji obaw.Dobrą lekturą na ten temat jest artykuł na temat FlagArgument autorstwa Martina Fowlera: http://martinfowler.com/bliki/FlagArgument.html
Jednak wywodzę się z PHP i widzę, że ten trend jest coraz częściej przyjmowany. Nie jestem pewien, jak bardzo to żyje z rozwojem Java.
źródło
źródło
has
używany do BO lub takiej usługi z pewnym przetwarzaniem, podczas gdy dla POJO jestis
. i dodaj opis swojej odpowiedzi.W przypadku wartości logicznych możesz również użyć
źródło
Jako rozgrywający, co powiesz na:
lub
Nie jestem pewien, czy te nazewnictwo ma sens dla rodzimych użytkowników języka angielskiego.
źródło