Code brut ou commenté? - C++ - Programmation
Marsh Posté le 28-04-2003 à 07:42:47
et bienton commentaire de projet est une chose, le commentaire du code est une autre chose. pour ton commentaire de code, commente dans tes .h tes prototypes pour expliquer l'utilité de tes fonctions: il y a d'ailleurs des logiciels pour générer de la documentation à partir de ce genre de commentaire. dans ton code source, normalement il doit etre lisible, et ne doit donc pas avoir besoin de trop de commentaire: mets en par exemple pour delimiter les grandes parties de tes algorithmes, les passages ou tu utilises des petites astuces. Si tu retrouves avec des tas de commentaires dans ton code source, c'est que ton code est pourri car illisible.
Marsh Posté le 28-04-2003 à 08:19:08
Arf, j'ai un collègue il est ouf.
Chaque fois qu'il écrit une fonction, il la recopie, il la met en commentaires et rajoute des kilomètres de commentaires
Comment ça il a une version avec 10 lignes de commentaires par ligne de code, puis en dessous la version non commentée
Marsh Posté le 28-04-2003 à 11:35:50
niveau commentaire j'ai a peu près ca comme proportion, je pense pas que ca soit encore trop illisible
Code :
|
Marsh Posté le 28-04-2003 à 12:01:24
la ça commence à faire un peut gros, pourkoi ne pas faire des modules?
Marsh Posté le 28-04-2003 à 12:04:37
++Taz a écrit : la ça commence à faire un peut gros, pourkoi ne pas faire des modules? |
quand tu dit des modules c'est des .h separé avec les fonction dedans?
je connais pas encore trop bien les subtilité de la programation, on a fait ca avec comme seule aide un syllabus intro au langage C
Marsh Posté le 28-04-2003 à 12:18:27
Ca paraît très mal...
Exemple de commentaire :
Code :
|
Marsh Posté le 28-04-2003 à 12:26:20
ca va etre un peu tendu de faire ca , t'a vu le nombre de parametre que prend chaque fonction? en plus elle ne font pas qu'un seul truc souvent c'est des fonction qui font 3 pages.
mais c vrai que ca presente beaucoup mieux comme ca.
Marsh Posté le 28-04-2003 à 13:50:33
MagicBuzz a écrit : Ca paraît très mal...
|
Ben voyons...si tu mets tout ca pour un "add" j'imagine même pas ce que ca donne sur des fonctions complexes!
Je veux bien croire que dans un contexte pro sur un projet important avec plusieurs développeurs ce genre de commentaires soit le bienvenu, mais là c'est juste un projet scolaire...
Quand ya des moustiques chez toi tu les chasses au lance-flammes toi non?
[edit] faute de frappe.
Marsh Posté le 28-04-2003 à 15:33:16
c'est surtout du code mort
tu ferais mieux d'ecrire
if 4<4
Marsh Posté le 28-04-2003 à 15:48:08
Javadoc ca vous dit quelque chose ?
Ah oui c'est vrai, pour Java !
Ba non, pas tout a fait:
http://doxygen.org
logiciel libre, pour C, C++, Java, PHP, sous UNIX et Windows, genere PDF, HTML, XML, LaTeX, RTF...
tout est personnalisable dans un simple fichier de conf que l'on peut editer avec interface graphique.
Mais que demande le peuple? Ah oui un exemple
Code :
|
voila ce que ca peut donner ensuite en sortie HTML/XML si on personnalise (Trolltech n'utilise pas Doxygen mais un outil a eux):
http://doc.trolltech.com/3.1/qlabel.html
Elle est pas belle la vie grace aux logiciels libres ?
Donc comme ca tu te poses plus de question, tu commentes ton code source et tu generes un PDF qui fait office de rapport plus 2-3 pages pour expliquer les idees globalement.
Edit:
Ca pete aussi les graphes d'heritage clickable
http://xml.apache.org/xerces-c/api [...] MNode.html
il sait aussi faire des graphes clickables a partir des includes des fichiers si on lui demande.
Marsh Posté le 28-04-2003 à 15:56:15
VS.NET fait ça aussi :
/// <summary>
/// Ma super fonction qui est bien
/// <param>
/// <name>toto</nama>
/// </param>
/// ...
/// </summary>
Et le compilateur peut te générer un fichier XML direct à partir de ça.
Et si tu utilise l'assistant pour créer tes fonctions, les commentaires s'écrivent tout seuls
Marsh Posté le 28-04-2003 à 15:58:00
MagicBuzz a écrit : VS.NET fait ça aussi : |
Il est même capable de deviner ce que va faire ta fonction? Trop fort!
Marsh Posté le 28-04-2003 à 16:01:30
Ben nan, mais dans l'assistant de création des class/fonctions, il te demande le type des paramètres, leurs noms et des commentaires dessus.
A partir de là, il te génère directement les balises xml dans les commentaires, ce qui est moins chiant que de se les faire à la main.
Sinon, il est capable tout de même de générer des commentaires minimums à partir de l'entête des fonctions :
-> privée, virtual, etc.
-> type de sortie
-> paramètres en entrée
-> override
-> héritage
-> etc.
En fait, c'est le compilo qui fait ça, donc à la base ton code n'a plus aucun secret pour lui Y'a juste qu'il va pas savoir quel est l'âge du capitaine quoi...
Marsh Posté le 28-04-2003 à 16:02:44
MagicBuzz a écrit : Ben nan, mais dans l'assistant de création des class/fonctions, il te demande le type des paramètres, leurs noms et des commentaires dessus. |
ok...c'est du javadoc assisté, en fin de compte!
Marsh Posté le 28-04-2003 à 16:06:38
Bah ouais, ça revient au même, mais avec possibilité d'automatiser l'écriture des commentaires
(M$ c'est vraiment les héros des fénéants, c pour ça que j'aime leurs produits )
Marsh Posté le 28-04-2003 à 16:17:03
MagicBuzz a écrit : |
Ba comme dans tous les bons IDE depuis longtemps rien d'exceptionnelle.
Perso moi je suis un fervant feneant depuis plusieurs annees
Marsh Posté le 28-04-2003 à 16:20:00
Ouais mais bon, moi j'aime bien ça
C vachement pratique quand t'as 50 fichiers dans ton projet avec 20 000 fonctions et que tu sais plus qui fait quoi
Marsh Posté le 28-04-2003 à 16:22:41
clair, c'est super lisible avec ce genre de tag. pas comme les mot magique de doxygen et pas la peine de se casser la tete "faut que je mette // ou /** ou ///"
Marsh Posté le 28-04-2003 à 17:22:51
MagicBuzz a écrit : Ouais mais bon, moi j'aime bien ça |
Mouais, ca a toujours ete le seul argument valable de Visual a mes yeux (tu m'etonnes avec 10 arguments par fonction dans le SDK ).
Mais je prefere 10x plus avoir le reverse engineering qu'une completion, c'est sans aucune comparaison possible.
En fait, comme je suis une faignasse, j'ai les deux (en Java, pas en C++ ou j'ai pas la completion): la completion et le reverse engineering avec un joli graphe UML (au final la completion je m'en sers jamais).
Pour repondre a Taz, Doxygen il a plusieurs mode de compatibilite (style de commentaire) dont le style Javadoc. Tu choisi celui que tu veux (je suis d'accord, le choix ca a des avantages mais aussi des inconvenients).
Marsh Posté le 28-06-2003 à 06:42:54
Hop, je fais encore remonter ce topic.
Je suis à la recherche de meilleure manière d'utiliser VC++ (.NET). Jusqu'à maintenant j'utilisais doxygen mais pourquoi pas essayer l'outil de Microsoft
Problème : je n'arrive pas à générer des commentaires automatiques quand je créé une nouvelle fonction! (ca me cré la fonction et c'est tout!)
Citation : |
MagicBuzz, comment tu fais ca!!
Aussi, quelqu'un sait comment activer AUTOMATIQUEMENT la completion des mots (ie pas besoin de faire un ALT + Fleche droite)...Comme le font la pluspart des autres ide???
Merci!
Marsh Posté le 28-06-2003 à 16:48:37
Up! Up!
Marsh Posté le 28-06-2003 à 23:18:19
Up! Up!
Marsh Posté le 29-06-2003 à 14:53:38
un petit contre exemple
http://casteyde.christian.free.fr/ [...] c2651.html
Code :
|
Marsh Posté le 29-06-2003 à 17:20:28
Willyzekid a écrit : Hop, je fais encore remonter ce topic.
|
Up up!
(mais de quoi il me parle le monsieur au dessus?!)
Marsh Posté le 02-07-2003 à 17:40:57
Tu veux pas aussi que le code completion te tape tout le programme ?
La thélépathie sinon
Marsh Posté le 02-07-2003 à 19:28:42
JagStang a écrit : Tu veux pas aussi que le code completion te tape tout le programme ? |
Ben si, gros malin. Je sais pas toi, mais moi taper du code, ca me lourde! Moins j'en tape, mieux c'est.
Or il se trouve que la plupart des IDE (IntelliJ pour n'en citer qu'un) te propose la completion automatique après que tu ais tapé 3 lettres.
Alors, comme je suis un gars un peu intelligent, je me dis, mais pourquoi mon petit VC++ me fait pas ca?
Dis moi, tu code sous notepad, toi c'est ca?
Marsh Posté le 02-07-2003 à 21:47:03
Je code pas sous notepad. Mais pour moi le code completion rend le programmeur idiot
du style en c++
this->
Et le gars attend 1 seconde, puis prends sa souris... c'est presque ça...
ça aide, mais c'est une aide vicieuse. il faut savoir s'en servir.
Sinon je code pas sous notepad, mais sous Borland Builder 6
Marsh Posté le 09-07-2003 à 07:34:29
JagStang a écrit : Je code pas sous notepad. Mais pour moi le code completion rend le programmeur idiot |
Le but du jeu c'est de gagner du temps, pas d'en perdre...je vois pas l'intéret si c'est pour décoller les mains du clavier!!
Et pour moi la complétion ne rend pas idiot, au contraire elle me permet d'utiliser des noms de variables un peu plus long et donc un peu plus clairs sans me faire chier à le retaper intégralement à chaque fois...C'est un plus appréciable autant pendant l'écriture du code que de sa relecture!
Marsh Posté le 09-07-2003 à 09:21:37
chi cha rend idiot, on retiens pu rien (param de fonction, nom de variable, majuscule/minuscules....)
Mais c trop pratique
Marsh Posté le 12-07-2003 à 13:06:56
JagStang a écrit : Je code pas sous notepad. Mais pour moi le code completion rend le programmeur idiot |
1s, jai mis aucun delai
Marsh Posté le 28-04-2003 à 01:19:32
je doit rendre un projet sur un prog que j'ai fait, pour mettre dans le dossier vaux mieux mettre un commentaire partie par partie en decomposant le prog et mettre le code sans commentaire a part ou alors c mieux d'integrer les commentaires au code?