millon on asiallista käyttää jonkun tietoa hakevan metodin nimessä "get" etuliitettä? esim jos halutaan hakea vaikka seuraava päivä niin kumpi nimeämiskäytäntö on asiallisempi
day.nextDay() vai
day.getNextDay() ??
kun java APIssa käytetään molempia nimeämistapoja miten sattuu, tai ainakaan minä en ole tajunnut perustelua nimeämiselle!
day.nextDay() vai
day.getNextDay() ??
kun java APIssa käytetään molempia nimeämistapoja miten sattuu, tai ainakaan minä en ole tajunnut perustelua nimeämiselle!
Vastaukset 5
Vanhimmat
"get" kertoo heti, että ollaan palauttamassa jotain
Erityisesti laajojen kokonaisuuksien hallinnassa on mielekästä ja tärkeääkin, että metodien ja muuttujien nimet on selkeitä ja yhteneviä joka paikassa, että ei tarvitse muistella ja arvailla missään vaiheessa, mistä mahtaa olla kyse. Tuon pohjalta tuo getin käyttö on ehkä mielekkäämpää?
Mut tietty sulla vois olla getDay(), joka palauttaa luokan day-muuttujan arvon ja nextDay()-metodi, joka palauttaisi getDay() 1;?
Mutta function kuuluu aina palauttaa jotain. Juu kannattaa tuota get sanaa käyttää mikäli on paljon functiota luokassa, mutta tällöin sitä kannattaa käyttää kaikkialla.
Mulle heräisi pelkästä "nextDay" nimestä käsitys, että se muuttaisi jotenkin olion sisäistä tilaa, eli siirtäisi sen seuraavaan päivään (ja palauttaisi itsensä). Tuo "getNextDay" kuulostaa taas siltä, kuin se vain palauttaisi uuden olion joka viittaisi seuraavaan päivään.
System.out.println("Huomenna on " day.getNextDay());
System.out.println("Ylihuomenna on " day.getNextDay().getNextDay();
vs.
System.out.println("Huomenna on " day.nextDay());
System.out.println("Ylihuomenna on " day.nextDay());