Folco (./29239) :
Et les 50 déclarations en tête de fonction, c'est tellement old school...
Je trouve bordélique de déclarer une variable en tête de fonction alors qu'elle ne va vivre que dans les 5 lignes d'un if ou dans une boucle for.Et comme dit Pen^2, avec les outils actuels il suffit de survoler une variable pour avoir toutes les infos qu'on veut dessus, son commentaire, et avec un clic dans le popup on va à la définition.
Declarer une variable dans un bloc if, for, while n'est pas un probleme. La on parle de déclarer les variable dans un appel de fonction!
Tu vois un
scanf("%d %d %d", &int bla, &int bli, &int blo);
?
Moi non, un codeur me pond cela, son changement par direct en réécriture, même si le langage le permet.
Le problème c'est de ne pas déclarer tes variables de manière consistante, la déclarer en plein milieu du code ou pire d'un appel de fonction ( ou comme l'adore faire des C++istes dans un for
) casse la maintenabilité du code avec un facteur assez conséquent.
Rien de pire qu'un code ou tu passe 3h a chercher (même avec la recherche, ctag ou tout ce que tu veux) la déclaration d'une fonction.
Hint: tu n'as pas toujours un IDE de 2Go en RAM charge pour faire des modifs sur un projet, tu n'a des fois que la possibilité d'utiliser un bon vieux grep ou la fonction "rechercher" pour trouver ce que tu veux, ça parait peut être oldschool, mais déclarer toutes les variables au début d'un bloc permet de grandement simplifier la recherche et la maintenabilité d'un code, tu ne peux vraiment pas toujours compter sur ton IDE pour tout faire.
Tiens un exemple concret de l’utilité des règles "oldschool" comme la limites de 80 colonnes qu'on trouve souvent. Dans ma précédente boite il y avais un dev qui avait de gros problèmes de vue, et devait agrandir beaucoup la fonte pour que ça soit lisible et confortable pour lui.
C'est un cas extrême bien sur, et la limite n'avais pas était faite pour lui a l'origine, mais il était bien content de ne pas passer sa journée a scroller horizontalement pour pouvoir lire le code (et ne me parle pas retour a la ligne automatique, c'est parfait pour du texte, pour du code ça rends très vite les choses illisible.)