C'est probablement une bonne idée!
Je ne suis pas d'accord avec la division de longues séquences d'actions linéaires en fonctions distinctes uniquement pour réduire la longueur moyenne de la fonction dans votre base de code:
function step1(){
// ...
step2(zarb, foo, biz);
}
function step2(zarb, foo, biz){
// ...
step3(zarb, foo, biz, gleep);
}
function step3(zarb, foo, biz, gleep){
// ...
}
Vous avez maintenant ajouté des lignes de source et réduit considérablement la lisibilité totale. Surtout si vous passez maintenant beaucoup de paramètres entre chaque fonction pour garder trace de l'état. Beurk!
Toutefois , si vous avez réussi à extraire une ou plusieurs lignes dans une fonction pure qui remplit un seul objectif clair ( même si vous ne l'avez appelée qu'une fois ), vous avez amélioré la lisibilité:
function foo(){
f = getFrambulation();
g = deglorbFramb(f);
r = reglorbulate(g);
}
Cela ne sera probablement pas facile dans des situations réelles, mais des fonctionnalités pures peuvent souvent être découvertes si vous y réfléchissez suffisamment longtemps.
Vous saurez que vous êtes sur la bonne voie lorsque vous avez des fonctions avec de beaux noms de verbe et que votre fonction parent les appelle et que tout se lit pratiquement comme un paragraphe de prose.
Puis, lorsque vous revenez des semaines plus tard pour ajouter plus de fonctionnalités et que vous constatez que vous pouvez réellement réutiliser une de ces fonctions, alors, oh, joie extatique! Quel délice radieux!