Nella programmazione orientata agli oggetti, ovviamente non esiste una regola esatta sulla lunghezza massima di un metodo, ma ho comunque trovato queste due citazioni in qualche modo in contraddizione tra loro, quindi mi piacerebbe sentire cosa ne pensate.
In Codice pulito: un manuale di abilità software agile , Robert Martin dice :
The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that. Functions should not be 100 lines long. Functions should hardly ever be 20 lines long.
e fornisce un esempio dal codice Java che vede da Kent Beck:
Every function in his program was just two, or three, or four lines long. Each was transparently obvious. Each told a story. And each led you to the next in a compelling order. That’s how short your functions should be!
Questo suona alla grande, ma d'altra parte, in Codice completo , Steve McConnell dice qualcosa di molto diverso:
The routine should be allowed to grow organically up to 100-200 lines, decades of evidence say that routines of such length no more error prone then shorter routines.
E dà un riferimento a uno studio che dice che le routine di 65 linee o lunghe sono più economiche da sviluppare.
Quindi, anche se ci sono opinioni divergenti sulla questione, esiste per te una best practice funzionale?