zajímal by mě váš názor na pojmenovávání metod v Javě, osobně se snažím psát co nejvíc immutable, OOP stylem, držet se pravidla tell, don't ask a vyhýbat se třídám typu tlupa private fieldů + gettery a settery, nicméně občas prostě potřebuju getter/setter pro nějaké pole. Co si myslíte o stylu, kdy případný getter pojmenuji stejně jako field?
Prefixy
get (u booleanů volitelně
is) a
set jsou součástí specifikace JavaBean. I když si lidi často myslí, že je to jen nějaká konvence. Hodně věcí by ti pak vůbec nefungovalo (různá mapování atd.) nebo by sis tím přidělal práci.
Určitě bych je nepřekládal do češtiny (i když proti česky psanému kódu nic nemám, tohle v něm musí zůstat, je to podobné jako
if,
else,
for…).
Ale na druhou stranu, pokud nemáš v plánu používat instance té třídy na místech, kde se očekává JavaBeana, tak si to pojmenuj, jak chceš. Je tu sice pravidlo (obecně v OOP), že název metody by měl obsahovat sloveso, ale v odůvodněných případech se dá udělat výjimka. Např. i ve standardní knihovně máš někdy metody
size() nebo
length() místo
getSize() nebo
getLength(). Použil bych to v případě, kdy nejde o klasický getter, ale o metodu, která jen něco vypočte a vrátí výsledek, bez možnosti zápisu. Pokud by to byla dvojice, kdy jednou metodou čteš a druhou zapisuješ, tak bych se držel těch klasických
get/
is a
set předpon.