|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() OUMAR CISSEDéveloppeur Java Inscription : novembre 2007 Messages : 227 ![]() |
Bonjour tout le monde,
Je suis actuellement en mission chez un client . A mon arrivée, j'ai vu un code assez verbeux , super mal codé (des map de map de map partout) , peu tester (12% de couverture de code), impossible à comprendre. J'ai posé la question à savoir pourquoi le code n'est pas commenté. A ma grande surprise on me réponds que le code doit s’auto-commenter et que si on met des commentaires ça veux dire qu'il y a un problème (a d'autre termes il n'est pas parlant). alors que moi j'ai toujours pensé que le code même si un code est parlant, les commentaires apporterais plus de visibilité. J'aimerais avoir votre avis. |
|
|
00
|
|
|
#2 | ||||
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 709 ![]() |
Mon avis personnel rejoint en partie celui que tu as eu: il est inutile de commenter TECHNIQUEMENT un code. Dans ce que j'ai vu, ce sera alors des commentaires du genre
Code :
En revanche, il peut-être utile de commenter FONCTIONNELLEMENT le code, de manière à récapituler son UTILITE Code :
Concrètement, qui n'a jamais écrit une méthode bien procédurale de 4 pages de long? Bref, dire que le commentaire est inutile est un peu osé (et c'est prendre plusieurs générations de programmeurs pour des couillons). En revanche, le commentaire doit rester simple, et ne doit pas être une excuse pour coder comme un goret.
__________________
Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors. |
||||
|
|
160
|
|
|
#3 | |
|
Expert Confirmé Sénior
![]() ![]() Paul TOTHFreelance Inscription : novembre 2002 Messages : 4 427 ![]() |
Citation:
un de mes clients réclame une entête PHPDOC sur chaque fonction PHP codée...je trouve ça d'autant plus dommage que PHP est interprété et que tout cela est lu à chaque fois. Maintenant un code comme tu le décrit est souvent le fruit de plusieurs années de développement par des développeurs qui se sont succédés sans se rencontrer ou sans avoir le temps de s'expliquer. Du coup plus personne n'ose toucher à rien de perd que ça s'effondre...et chaque modification ne fait qu'alourdir l'édifice
__________________
Developpez.com: Mes articles, forum FlashPascal Entreprise: Execute SARL Produits : UPnP, RemoteOffice, FlashPascal Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5% |
|
|
50
|
|
|
#4 |
![]() ![]() Yves Développeur informatique Inscription : janvier 2007 Messages : 5 299 ![]() |
Cela dépend aussi des langages utilisés.
Il est vrai que les langages actuels, évolués, souvent Objet sont relativement parlant, pour peu que les noms de variables et méthodes soient judicieusement choisis. Les commentaires "techniques", comme dit Jidefix, sont bien souvent redondant avec le code et inutiles. Dans des langages plus anciens, je pense notamment à certains ancien Basic, les commentaires sont les bienvenus, le langage lui-même n'étant pas toujours très parlant. N'oubliez pas, les bonnes pratiques, c'est en gros 10% de commentaires, soit environ (pour faire simple) 1 ligne de commentaire pour 10 lignes de code. 3 lignes de commentaires en début de méthode pour expliquer succinctement, la fonctionnalité et le fonctionnement, ça fait une méthode à 30 lignes de code, soit grosso-modo, la taille maxi à essayer de ne pas dépasser. On est dans les clous
__________________
--- Sevyc64 --- Parce que le partage est notre force, la connaissance sera notre victoire |
|
|
31
|
|
|
#5 |
|
Expert Confirmé
![]() Baptiste ROUSSELDéveloppeur Temps réel Embarqué Inscription : janvier 2011 Messages : 1 298 ![]() |
J'aurais tendance à dire que ne pas commenter c'est mal.
Le code se suffit à lui même ? Vous avez déjà vu des codes français ?? On peut interpréter de trente-six façons différentes (j'entends par là supposer sur le code sans lire les 3000 lignes de code) des fois tellement notre langue est riche et compliquée. Donc avoir du code plus des commentaires associés cela permet d'avoir en quelque sorte deux visions afin de converger correctement.
__________________
|
|
|
34
|
|
|
#6 | ||||
|
Inactif
Inscription : juillet 2006 Messages : 215 ![]() |
il devrait exister du code en francais:
Code :
Code :
|
||||
|
|
110
|
|
|
#7 |
![]() ![]() Yves Développeur informatique Inscription : janvier 2007 Messages : 5 299 ![]() |
Ça s'appelle Windev et son petit frère Webdev, édité par PCSoft.
Et bien que ce langage soit très décrié et très mal jugé par les développeurs en général, on trouve de plus en plus de logiciels commerciaux développés avec
__________________
--- Sevyc64 --- Parce que le partage est notre force, la connaissance sera notre victoire |
|
|
50
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() Paul TOTHFreelance Inscription : novembre 2002 Messages : 4 427 ![]() |
PCSoft propose des produits permettant de développer rapidement et facilement des applications...ça explique la présence de celles-ci. Maintenant avec ce genre de produit - Lotus Notes dans un autre genre en est un bel exemple - il ne faut pas sortir de la philosophie du produit sous peine de tomber dans des problèmes insolubles et des bugs inattendus. Donc ce qui n'est pas prévu par le produit, on ne le fait pas même si c'est un vrai besoin ... exemple: les listes dynamiques n'existent pas sous Lotus Notes, les critères de sélection d'une liste sont figés; seule solution : utiliser le moteur de recherche documentaire intégré au produit.
__________________
Developpez.com: Mes articles, forum FlashPascal Entreprise: Execute SARL Produits : UPnP, RemoteOffice, FlashPascal Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5% |
|
10
|
|
|
#9 | |
|
Expert Confirmé Sénior
![]() ![]() Développeur d'applications Inscription : novembre 2005 Messages : 2 568 ![]() |
Citation:
Après est-ce qu'on peut vivre avec et profiter de la productivité? Ou est-ce que finalement on perd les avantages parce qu'on est sans arrêt à devoir chercher des workarounds? |
|
|
|
50
|
|
|
#10 | ||||
|
Expert Confirmé Sénior
![]() Inscription : décembre 2007 Messages : 2 545 ![]() |
Pour revenir au sujet initial, voici un code COBOL que j'ai écrit il y a quelques années - lors d'une refonte sans specs, après la détermination du type de paiement :
Code :
Par contre, ce que ça ne dit pas, c'est le POURQUOI. Que je n'avais pas en commentaire dans le code original. Et que nous avons mis beaucoup de temps à comprendre; Voici donc le code final : Code :
Donc, je pense que les collègues du posteur initial ont à la fois raison et tort. Raison, parceque le code doit être compréhensible sans commentaire. Tort, parceque comprendre le code ne suffit pas. Là, j'avais un vieux nanard qui faisait pareil(en beaucoup moins lisible, mais je l'ai compris), mais impossible de savoir pourquoi il y avait cette verrue(et les métiers ne comprenaient pas non plus). Pourtant, elle était, et reste, indispensable.
__________________
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten : 1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception 2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences 3)le temps de comprendre toutes les exigences, le projet est terminé 4)le temps de terminer le projet, les exigences ont changé Et le serment de non-allégiance : Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée. |
||||
|
|
100
|
|
|
#11 |
|
Expert Confirmé
![]() Sylvain Ingénieur développement logiciels Inscription : octobre 2007 Messages : 1 249 ![]() |
Je trouve très utile les commentaires en début de méthode qui sont lus par l’auto-complétion (ça dépend de l'IDE et du langage). C'est le minimum d'expliquer ce que fait une méthode.
Après, sans chercher à faire des stats (genre il faut 10%), un bon commentaire doit pouvoir expliquer en quelques mots le fonctionnement d'une partie d'un code. Trop de commentaire rend le code illisible, mais le manque de commentaire peut faire perdre du temps au développeur qui le reprend.
__________________
"tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!" |
|
|
11
|
|
|
#12 |
|
Membre Expert
![]() Yoann MoreauIngénieur Inscription : septembre 2005 Messages : 786 ![]() |
Je pense aussi. Personnellement je ne commente presque pas du code C++/Qt parce qu'avec des noms explicites (variables et fonctions) on comprend bien ce qui se passe, et la doc des fonctions (type doxygen) suffit à préciser l'objectif général du code.
Le ruby est particulièrement clair à lire également, quand on s'est habitué à sa syntaxe. Après il arrive ponctuellement qu'on fasse un truc bizarre pour optimiser ou autre, et là il est utile de préciser pourquoi avec un petit commentaire. Mais bon c'est peut être quelques lignes sur un projet entier. Concernant les maps de maps, je fais presque toujours des typedef avec un nom explicite. |
|
30
|
|
|
#13 |
|
Membre éclairé
![]() OUMAR CISSEDéveloppeur Java Inscription : novembre 2007 Messages : 227 ![]() |
je suis complétement d'accord avec Jidefix car y a des commentaires qui ne servent a rien. Par compte je pense que si on a un fonctionnel trés riche avec un code dont tous les développeurs se plaignent (par exemple j'ai modifié un css et je me suis tapé un bugs fonctionnel, injection des formulaires dans les services, une utilisations complément décalée de seam etc. ) on peut pour ne pas utiliser "doit" commenter les fonctionnalités complexes afin que les gens qui hérite du code puisse comprendre.
|
|
|
00
|
|
|
#14 | |
|
Membre actif
![]() Développeur Java Inscription : septembre 2011 Messages : 74 ![]() |
Citation:
Après, on est sensé faire ces commentaires de manière utile : pas de commentaires de trucs évidents, pas de code en commentaire, javadoc à jour et correctement référencée, etc. |
|
|
|
30
|
|
|
#15 | |
|
Membre éclairé
![]() OUMAR CISSEDéveloppeur Java Inscription : novembre 2007 Messages : 227 ![]() |
Citation:
|
|
|
|
20
|
|
|
#16 | |
|
Membre Expert
![]() Yoann MoreauIngénieur Inscription : septembre 2005 Messages : 786 ![]() |
Citation:
Ce que je veux dire c'est que quelqu'un qui va coder n'importe comment, il vaudrait mieux lui apprendre à bien coder plutôt que lui dire "dans ton cas il faut tout commenter". Un code illisible n'est pas une "raison" pour mettre plus de commentaire, mais plutôt un problème à la base. |
|
|
51
|
|
|
#17 | ||
|
Expert Confirmé Sénior
![]() ![]() Paul TOTHFreelance Inscription : novembre 2002 Messages : 4 427 ![]() |
Quand on manipule des objets DOM en Javascript, les commentaires sont aussi les bien venus
Code :
__________________
Developpez.com: Mes articles, forum FlashPascal Entreprise: Execute SARL Produits : UPnP, RemoteOffice, FlashPascal Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5% |
||
|
30
|
|
|
#18 |
|
Membre émérite
![]() Inscription : septembre 2006 Messages : 709 ![]() |
Faut dire aussi que du code javascript sera par définition bordélique et non explicite
Blague à part, c'est vrai que j'ai fait une fixette sur les langage objets, mais ça dépend énormément du langage et de ce qu'on en fait... Le problème du javascript, c'est que généralement, on bidouille jusqu'à ce que ça marche et-la-on-y-touche-surtout-plus-malheureux! Et du coup c'est incommentable puisqu'on ne comprend même pas ce qu'on vient d'écrire. Du coup le code commenté est aussi le plus évident PS: mais je fais des efforts en javascript!
__________________
Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors. |
|
|
12
|
|
|
#19 | |
|
Membre éclairé
![]() OUMAR CISSEDéveloppeur Java Inscription : novembre 2007 Messages : 227 ![]() |
Citation:
|
|
|
|
00
|
|
|
#20 |
|
Membre Expert
![]() Yoann MoreauIngénieur Inscription : septembre 2005 Messages : 786 ![]() |
Dans mes propos je ne compte pas la doc technique comme du commentaire, sinon bien évidemment il faut écrire quel est le but global des fonctions (encore que pour une partie d'entre elles le nom est souvent suffisant). Toujours dans le cadre du développement orienté objet.
Ça été dit au dessus, il y a des cas où il faut des commentaires. Ce que je voulais dire c'est que ça doit rester des exceptions et pas des habitudes. |
|
00
|
Copyright © 2000-2013 - www.developpez.com