Che nomi dare alle funzioni in un programma? Nomi che facciano capire cosa fanno, non il modo in cui lo fanno.
Separare l’obiettivo dall’implementazione, come spiega Fowler in Function Length.
Il nome deve spiegare immediatamente cosa si vuole ottenere con la funzione (l’intenzione), senza dover mettere il naso negli statement che la implementano. Anche quando l’implementazione consiste in un unico statement.
I remember people objecting to having an
isEmpty
method for a list when the common idiom is to useaList.length == 0
. But here using the intention-revealing name on a function may also support better performance if it’s faster to figure out if a collection is empty than to determine its length.