Si les procédures manger et faire la sieste sont utilisées plusieurs fois dans le logiciel, OK, ça vaut le coup de découper. Sinon, un simple commentaire suffit pour rendre clair le programme sans avoir besoin d'aller chercher éventuellement dans quel fichier perdu est définie cette foutue fonction !
Le problème quand tu bosse sur des vrai programmes, c'est qu'ils sont amené à évolué d'une façon que tu ne peux pas prévoir (en fonction des besoins future du client) donc c'est impossible (la plupart de temps) de dire avec certitude si une fonction sera ou non utilisé plusieurs fois.
Et même pour la partie non-métier qui ne dépend pas de ton client, ton code évoluera si il est utilisé, donc y'a des chances qu'une fonction soit réutilisé à un autre endroit de ton code même si au départ ça ne devait pas être le cas.
Pour l'argument du "Si on découpe trop c'est chiant de retrouvé où sont les fonctions qui sont appelé" je te conseil d'utiliser un vrai IDE. Sous eclipse par exemple CTRL + clic sur une méthode m'ouvre le bon fichier à l'endroit où est définis la fonction.
Découper en fonction courte son programme permet également d'optimiser plus facilement son code en limitant les risques de tout casser. Par exemple sur une grande fonction, une variable qu'on utilise au début peut aussi être utilisé à un autre endroit, parfois un peu obscure (genre l'index d'un tableau), et il faut parcourir tout le code pour vérifier que ce n'est pas le cas. Sur une fonction de 5/10 lignes on le voit tout de suite.
C'est aussi plus facile à débugger souvent. Tu check les entrés sorties des fonctions et tu vois où ça merde. Une fois que t'as trouvé la fonction qui pose problème t'as au max 15 lignes à analyser. Si c'est sur une fonction de 250 Lignes, tu va encore passer un bon moment à trouver les lignes qui posent problèmes avant de te pencher réellement sur le problème en lui même.
Pareil pour les audits de performances, tu fais des bench sur chaque fonction et tu vois directement lesquelles ils faut optimiser, c'est bien plus simple !
8 |
0 |