Qu'est ce qui t'empêche, si un projet n'est pas sous contrôle de version, de le mettre en partant de l'état actuel dans lequel il se trouve?
Ah ben, ca, c'est pas nouveau=> l'industrie logiciel reste encore à s'imposer
Non, mais plus l'équipe est importante, plus il me semble nécessaire d'avoir un système de versioning... si ce dernier est géré par "un autre service", je m'en fous, du moment qu'il fonctionne=> ce n'est pas toujours le développeur qui gère le versionning, surtout en grosse équipe
Si dans dix ou quinze ans, il décident de changer le système de contrôle de version, cela ne me pose strictement aucun problème=> et quid dans 10 à 20 ans ?
A la limite, tant qu'ils veillent soit à garder les deux systèmes en parallèle un temps suffisant, soit à transférer l'historique, cela me convient parfaitement
Mais cela nous éloigne vraiment beaucoup du problème de base
non, c'est un commentaire non mis à jour qui pose problème.Ce qui peut sembler inutile en Java ne l'est peut-être pas en Cobol, justement du fait des différences.
Ce n'est pas un commentaire inutile qui pose problème, c'est l'absence de commentaire.
La première source de compréhension du code devrait toujours être le code en lui-même!
C'est le seul moyen certain pour s'assurer que cette source reste en corrélation avec le code lui-même
la bonne pratique, c'est de disposer du maximum d'informations, je te l'accorde.La qualité c'est la bonne pratique,
la bonne pratique c'est de disposer du maximum d'information
l'information c'est d'abord le code commenté
Mais la meilleure source d'information que tu puisse avoir, la seule dont tu puisses être certain qu'elle sera en parfaite adéquation avec le code, c'est le code lui-même.
Cela impose certes une certaine discipline, en terme de choix de noms essentiellement, mais c'est ca qui fera la qualité essentielle d'un "bon code"
A partir du moment où tu respecte la sémantique généralement attribuée aux différents opérateurs et où tu choisi des noms cohérents et compréhensibles pour tes fonctions et pour tes variables, en quoi voudrais tu qu'on te prenne pour un charlot?Personne ne sait qui interviendra dans les arcanes de nos sources, quand il le fera, pourquoi il le fera et comment il les abordera.
Alors plus il aura d'informations moins il perdra de temps ( et moins il nous prendra pour un charlot )
Bien sur, si tu codes un opérateur '<' en lui donnant le sémantique de l'opérateur '==' ou de l'opérateur '>', là, tu as de fortes chances d'être pris pour un charlot
Parce que tu crois peut être que l'on ne perd pas de temps simplement parce que le code est commentéOui la maintenance à un coût, et plus on perd du temps à comprendre le code plus c'est cher. Et on perd du temps souvent parce que l'on ne comprend pas ce que le développeur a voulu faire et qu'il ne l'a pas expliqué !
L'homme est par défaut un fainéant, et le développeur ne fait pas exception.
S'il a la possibilité de choisir la loi du moindre effort, il la choisira.
Autrement dit, s'il doit choisir entre lire un commentaire et se baser sur le principe que le code auquel le commentaire se rattache fait effectivement ce que le commentaire prétend et relire le code, il choisira d'office de lire le commentaire.
Le problème est donc que si le commentaire n'est pas en parfaite adéquation avec le code, il "sautera" la partie correspondante du code en se disant "bah, si le commentaire le dit, faisons lui confiance".
Il va donc se perdre en conjonctures de toutes sortes sur d'autres parties, parfois très éloignées du point réel où le problème se pose.
Au final, un mauvais commentaire aura fait perdre beaucoup plus de temps que celui qu'un bon commentaire aurait pu faire gagner
Les commentaires ne changent rien à cela.Donc c'est bien juste un problème de budget ( de temps ), pas de technique ( même si c'est mal écrit, c'est maintenable ).
Si tu n'a pas été en mesure de fournir un code compréhensible, pourquoi serais tu en mesure de fournir des commentaires qui permettent de comprendre ton code
Un code mal écrit est mal écrit et difficile à maintenir, fut il truffé de commentaires, point barre.
Un code bien écrit, qui respecte quelques principes de base comme le principe de la responsabilité unique n'a pas besoin de commentaires parce que la qualité du code en lui-même les rend inutiles et sera pourtant facilement maintenable
Partager