Oui, ma fonction peut être de plus en plus petite et, qu’elle soit bonne ou mauvaise, cela dépend de la langue / du framework que vous utilisez.
À mon avis, je travaille principalement sur les technologies frontales. Les petites fonctions sont principalement utilisées en tant que fonctions d'assistance que vous serez obligé de les utiliser comme beaucoup lorsque vous travaillez avec de petits filtres et en utilisant la même logique dans votre application. Si votre application a trop de logique commune, il y aura alors une tonne de petites fonctions.
Mais dans une application où vous n'avez pas de logique commune, vous ne serez pas obligé de créer de petites fonctions, mais vous pouvez diviser votre code en segments où il devient facile pour vous de gérer et de comprendre.
En général, casser votre gros code en petite fonction est une très bonne approche. Dans les cadres et les langages modernes, vous serez obligé de le faire, par exemple
data => initScroll(data)
est une fonction anonyme dans ES 2017 JavaScript et Typescript
getMarketSegments() {
this.marketService.getAllSegments(this.project.id)
.subscribe(data => this.segments = data, error => console.log(error.toString()));
}
Dans le code ci-dessus, vous pouvez voir 3 déclarations de fonction et 2 appels de fonction. Il s'agit d'un simple appel de service dans Angular 4 avec Typescript. Vous pouvez le considérer comme vos exigences
([] 0)
([x] 1)
([x y] 2)
Les fonctions ci-dessus sont 3 fonctions anonymes en langage clojure
(def hello (fn [] "Hello world"))
Le précédent est une déclaration fonctionnelle en clojure
Donc oui, FUNCTIONS peut être aussi petit, mais que ce soit bon ou mauvais si vous avez des fonctions comme:
incrementNumber(numb) { return ++numb; }
Bien que ce ne soit pas une bonne pratique, mais si vous utilisiez cette fonction dans une balise HTML comme nous le faisons dans Angular Framework, si Incrément ou Décrément ne sont pas pris en charge dans les modèles HTML angulaires, alors cela aurait été la solution moi.
Prenons un autre exemple
insertInArray(array, newKey) {
if (!array.includes(newKey)) {
array.push(newKey);
}
}
L'exemple ci-dessus est un must lors de la lecture de tableaux dans des modèles angulaires HTML. Donc, parfois, vous devrez créer de petites fonctions
Assert.AreEqual<int>(expected, actual, message, arg1, arg2, arg3, ...);
. Le second est bien tel quel. Je pourrais éventuellement inclure un drapeau bool optionnel qui dicterait s'il fallait lever une exception / etc. dans le cas où le rappel n'est pas une fonction.