Sì caro, la funzione potrebbe essere sempre più piccola e se è buona o cattiva dipende dalla lingua / quadro che stai utilizzando.
A mio parere, io lavoro principalmente su Front End Technologies, le Small Functions sono principalmente utilizzate come funzioni di supporto che dovrai utilizzare molto quando lavori con filtri piccoli e usi la stessa logica per tutta l'applicazione. Se la tua applicazione ha troppa logica comune, ci sarà una tonnellata di piccole funzioni.
Ma in un'applicazione in cui non hai una logica comune non sarai obbligato a fare piccole funzioni ma puoi spezzare il tuo codice in segmenti dove diventa facile da gestire e capire.
In generale, rompere il tuo enorme codice in una piccola funzione è un ottimo approccio. Nei moderni framework e linguaggi che dovrai eseguire, ad esempio
data => initScroll(data)
è una funzione anonima in ES 2017 JavaScript e Typescript
getMarketSegments() {
this.marketService.getAllSegments(this.project.id)
.subscribe(data => this.segments = data, error => console.log(error.toString()));
}
nel codice sopra puoi vedere 3 Function declaration e 2 function call questa è una semplice Service Call in Angular 4 con Typescript. Puoi pensare ad esso come alle tue esigenze
([] 0)
([x] 1)
([x y] 2)
Quanto sopra sono 3 funzioni anonime nella lingua clojure
(def hello (fn [] "Hello world"))
Il precedente è una dichiarazione funzionale in clojure
Quindi sì FUNCTIONS può essere più piccolo ma se è buono o cattivo se hai funzioni come:
incrementNumber(numb) { return ++numb; }
Beh, non è una buona pratica farlo, ma cosa succede se stai usando questa funzione in un tag HTML come facciamo in Angular Framework se non ci fosse il supporto per Incremento o Decremento nei Modelli HTML angolari, allora sarebbe stato la soluzione per me.
Prendiamo un altro esempio
insertInArray(array, newKey) {
if (!array.includes(newKey)) {
array.push(newKey);
}
}
L'esempio sopra è un must quando si gioca quando array all'interno di modelli HTML angolari. Quindi a volte dovrai creare piccole funzioni