Vos conventions de "code" - Programmation
Marsh Posté le 12-03-2002 à 09:04:55
Krueger a écrit a écrit : Tout est dit. Moi j'ai tendance à être plus java en tout, mais pour certains langages comme le SQL j'aurais plutôt à m'orienter plutôt vers un style C++, je ne sais pas pourquoi. Aors il faut bien qu'un jour je mette les choses au point. Et puis si possible précisez les sites à partir desquels vous avez construit votre convention. Merci d'avance pour votre participation! |
Pareil !
Marsh Posté le 12-03-2002 à 10:01:01
bah, j'en ai pas vraiment...
qu'est-ce que tu entends exactement par convention de code?? tu peux m'éclairer par exemple avec tes deux exemples C++/Java??
Marsh Posté le 12-03-2002 à 10:01:57
moi je programme essentiellement en Pascal (Delphi) et je suis les conventions de Borland :
http://community.borland.com/artic [...] 80,00.html
[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]
Marsh Posté le 12-03-2002 à 10:08:48
Pour ma part ca dépend de mon heumeur
mais vu que je programme en Perl, j'essaie de faire du code buvable, et facile à digérer
comme le dit dropsy
Citation : qu'est-ce que tu entends exactement par convention de code?? tu peux m'éclairer par exemple avec tes deux exemples C++/Java?? |
Je me suis imposé une convention dans l'écriture du code, des commentaires, et des texte affichés à l'écran,...
Marsh Posté le 12-03-2002 à 10:16:45
... principalement pour avoir un code plus facile à maintenir.
Per exemple si on a quelque chose du genre
Code :
|
puis plus loin
Code :
|
C'est plus difficile à lire, car les classes et méthodes ne sont pas codée dans un même style.
Marsh Posté le 12-03-2002 à 10:44:48
c'est cela, oui... je vois...
disons, que je respecte plutôt bien l'indentation des blocs...
j'essaye d'avoir une cohérence dans les variables fonctions et autres objets, mais c pas facile facile
Marsh Posté le 12-03-2002 à 11:30:49
nous on a pas vraiment le choix.. c mon ecole qui les impose:
indentation
mettre des prefixe devant les variables, les constantes, les tableau etc..., par exemple v_variable, t_test, c_constante...
Marsh Posté le 12-03-2002 à 12:44:48
helvetik a écrit a écrit : nous on a pas vraiment le choix.. c mon ecole qui les impose: indentation mettre des prefixe devant les variables, les constantes, les tableau etc..., par exemple v_variable, t_test, c_constante... |
Moi je reviens beaucoup à la ligne, et j'indente d'un cara, pas de majuscules, ex :
Code :
|
et non
Code :
|
(j'ai déjà vu ce style)
@++
Marsh Posté le 12-03-2002 à 12:46:13
juju_le_barbare a écrit a écrit : Moi je reviens beaucoup à la ligne, et j'indente d'un cara, pas de majuscules, ex : |
pour le C/C++ c'est en general 1 tab (je pense) et pas de majuscules, alors que pour le Pascal Objet c'est 2 caractères et des majuscules.
1 caractère d'identation ça donne un code illisible je trouve
Marsh Posté le 12-03-2002 à 13:07:41
dropsy a écrit a écrit : c'est cela, oui... je vois... disons, que je respecte plutôt bien l'indentation des blocs... j'essaye d'avoir une cohérence dans les variables fonctions et autres objets, mais c pas facile facile |
notation hongroise, quoi !
Marsh Posté le 12-03-2002 à 13:09:29
c'est quelle convention quand on code comme ça:
void maFonction(String bidule){
Integer toto = 0;
...
}
Marsh Posté le 12-03-2002 à 13:13:54
TBone a écrit a écrit : c'est quelle convention quand on code comme ça: void maFonction(String bidule){ Integer toto = 0; ... } |
Pour moi, c'est du Java.
Marsh Posté le 12-03-2002 à 13:57:30
ceam a écrit a écrit : à lire pour Php http://www.zephpmag.com/extraits/phpmag_02_sample.pdf Standard de codage d'après ZePHPmag |
aïe aïe...
je respecte pas grand chose de ce qu'il préconise...
Y a des trucs que je pourrais (devrais??) respecter, mais faire:
if (totomachinchouette) {
....
}
ça c'est pas possible! mon bloc, si il est pas comme ça:
{
....
}
je le trouve pas clair!
et au moins ça se voit tout de suite quand il manque un { ou }...
Marsh Posté le 12-03-2002 à 14:05:01
dropsy a écrit a écrit : aïe aïe... je respecte pas grand chose de ce qu'il préconise... Y a des trucs que je pourrais (devrais??) respecter, mais faire: if (totomachinchouette) { .... } ça c'est pas possible! mon bloc, si il est pas comme ça: { .... } je le trouve pas clair! et au moins ça se voit tout de suite quand il manque un { ou }... |
Non, promis c'est juste un coup à prendre, on regarde pas de la même manière mais les deux sont strictement équivalents en terme d'efficacité. La méthode Java-PHP est plus concise puisque tu gagnes une ligne par bloc.
Marsh Posté le 12-03-2002 à 16:40:33
Cherrytree a écrit a écrit : Non, promis c'est juste un coup à prendre, on regarde pas de la même manière mais les deux sont strictement équivalents en terme d'efficacité. La méthode Java-PHP est plus concise puisque tu gagnes une ligne par bloc. |
moi je suis comme dropsy :
Code :
|
c'est beau je trouve, non ???
[jfdsdjhfuetppo]--Message édité par juju_le_barbare--[/jfdsdjhfuetppo]
Marsh Posté le 12-03-2002 à 16:44:10
moi c pareil sauf que je foue une tabulation au lieu d'un espace car j'étale mon code sur tt mon écrane t je trouve qu'un espace c pas suffisant
Marsh Posté le 12-03-2002 à 16:50:21
Je@nb a écrit a écrit : moi c pareil sauf que je foue une tabulation au lieu d'un espace car j'étale mon code sur tt mon écrane t je trouve qu'un espace c pas suffisant |
ouais c'est sûr, mais quand tu fais des imbrications, ton code fait 50 cm de large, plus que l'écran !!!
Marsh Posté le 12-03-2002 à 16:53:43
juju_le_barbare a écrit a écrit : moi je suis comme dropsy :
|
oui, enfin moi j'aurai mis:
Code :
|
une question se pose, pour ceux qui applique réelement des conventions de codage (qui ne s'arrêtent pas simplement aux accolades ), est-ce un réel atout? Gain en productivité, maintenabilité? Vous travaillez plutôt en solo, plutôt en équipe??
Marsh Posté le 12-03-2002 à 16:59:40
dropsy a écrit a écrit : oui, enfin moi j'aurai mis:
|
moi je suis solo, mais pour relire ton code 2 mois plus tard, ça aide !!!
de plus je distribue toujours mon code, faut penser aux autres !!!
1 espace franchement ça pète !!! je pense aux petits écrans
Marsh Posté le 12-03-2002 à 17:00:12
ReplyMarsh Posté le 12-03-2002 à 22:01:06
Autre pour ma part.
En fait c'est une convention de code qui existe dans ma boite depuis 6 ans et qui a ete mise en place par un collegue et adopter a l'unanimite. Si j'arrive un jour a mettre la main sur le doc Word je posterais le lien mais la j'ai keud.
Je rajouterais que c'est plus orienter C vu qu'a l'epoque ce collegue travaillait exclusivement avec ce language. Mais elle est suffisament flaxible pour pouvoir fonctionner avec n'importe quel autre language
Marsh Posté le 13-03-2002 à 08:45:25
Moi je suis totalement C++, comme disait l'autre moi un
Code :
|
ca me mélange complétement!
Pour ce qui est des langages "facile" comme VB ou DELPHI, je me tien loin je hais les begin sub, beurk
[jfdsdjhfuetppo]--Message édité par Ventilo--[/jfdsdjhfuetppo]
Marsh Posté le 13-03-2002 à 08:55:48
Ventilo a écrit a écrit : Moi je suis totalement C++, comme disait l'autre moi un
ca me mélange complétement! |
vb je comprends, mais delphi c'est pas mal quand même !!!
Marsh Posté le 13-03-2002 à 09:12:44
Ventilo a écrit a écrit : Pour ce qui est des langages "facile" comme VB ou DELPHI, je me tien loin je hais les begin sub, beurk |
y a pas de sub en pascal
(ps: Delphi n'est pas un langage mais un environnement de dev )
et je vois pas en quoi le pascal est bcp plus "facile" que le C++
bon hum on lance un débat pascal vs c++ ?
Marsh Posté le 13-03-2002 à 09:45:02
Je ne vois pas comment on peut generaliser une convention pour tous les langages... A la rigueur on peut uniformiser quelques notions, mais le reste ?
Celui qui code en perl comme en C++ comme en Java comme en pl/sql et beh... Son code ne ne doit pas tirer avantage des particularites de ces langages.
Marsh Posté le 13-03-2002 à 10:21:55
antp a écrit a écrit : bon hum on lance un débat pascal vs c++ ? |
le débat est vite fini : pascal suxx.
pour les conventions, je suis plutôt comme le premier exemple de Krueger dans mon code perso, les noms de variables de la classe non préfixés. en code équipe, préfixage à m & co, majuscules au début de nom de classe, etc.
et je trouve que http://www.zephpmag.com/extraits/phpmag_02_sample.pdf est un ramassis de règles à la con. les trucs genre
if () {
fn() ;
}
plutôt que
if () fn();
je trouve ça _très_ con. une convention de nommage des fonctions, variables & co ok, une convention pour les accolades, ok, mais à ce point là ...
Marsh Posté le 13-03-2002 à 10:24:07
oui, il faut pas pousser mamie dans les orties quand même!
Marsh Posté le 13-03-2002 à 10:26:26
youdontcare a écrit a écrit : le débat est vite fini : pascal suxx. |
Marsh Posté le 13-03-2002 à 11:42:35
Bah, puisqu'on est dans les conventions de code, moi j'aime bien le Python parceque tout le monde utilise les meme conventions pour indenter. Forcement le langage prend ca en compte pour définir les blocs d'instruction
Code :
|
Pas d'indentation, pas de chocolat ! ( et en plus ton prog ne va meme pas compilé )
Marsh Posté le 13-03-2002 à 14:13:13
Kristoph a écrit a écrit : ... Pas d'indentation, pas de chocolat ! ( et en plus ton prog ne va meme pas compiler ) |
Marsh Posté le 13-03-2002 à 14:26:41
"je trouve ça _très_ con. une convention de nommage des fonctions, variables & co ok, une convention pour les accolades, ok, mais à ce point là .."
Moi je suis pas d'accord
Je respecte une convention tres strict à ce niveau :
Code :
|
je colle les if, les parenthese et les parametres proches des parentheses, mais j'espace tous les mots dedans
accolade a la ligne (je deteste la premiere accolade en fin de ligne, question de gout )
La syntaxe, c'est perso. Moi c'est un style assea aéré
Mais il est (a mon avis) tres important de la respecter de A à Z dans un source
la raison ?
Pour la recherche d'occurence par exemple. Si tu cherche toutes les utilisation d'une variable globale dans l'appel d'une fonction (pour voir a quoi elle sert ...):
Code :
|
alors t'as remarque que souvent une fonction colle ses parametres aux parenthese
Tu fait rechercher "(globale" et tu zappes l'appel de bidule ...
si tu fais "globale" tout seul, tu te cognes en plus les utilisations dont tu te fous ...
Considère un projet de plusieurs milliers de lignes ... ca peut parraitre grottesque, mais on a assez vite fait de tromber sur une sittuation comme celle-ci
Apres le nommage des variables ... je suis un peu plus laxiste ...
Marsh Posté le 13-03-2002 à 14:44:51
Perso, si j'utilises des conventions et que je m'y tiens c'est parce que :
- c'est horripilant de lire un source atroce !
- je considère un source comme une oeuvre d'art. Si ça marche bien c'est bien, si en plus c'est bien fait et propre dedans, c'est mieux.
Marsh Posté le 13-03-2002 à 14:49:30
>> (je deteste la premiere accolade en fin de ligne, question de gout)
me too
>> ca peut parraitre grottesque, mais on a assez vite fait de tromber sur une sittuation comme celle-ci
je n'utilise que vc++ qui a un moteur de regex pour la recherche (et qui marche sur de multiples fichiers), donc ton problème est vite réglé - espace ou pas.
Marsh Posté le 13-03-2002 à 14:49:56
Moi j'apprécie beaucoup les conventions de nomage pour les nom fonction et de variable. En effet, quand je veut appeler la fonction qui : place le machin bleu sur la gauche. Je n'ai pas envie de me casser la tete à savoit si la fonction s'ecrit PlaceMachinBleuGauche ou d'une autre facon. Je sais quelle est la fonction, je connais ses paramètre, pourquoi je devrais me déplacer dans le code pour savoir s'il faut l'écrire avec des _ ou sans, avec des majuscules ou sans ...
Marsh Posté le 13-03-2002 à 14:54:33
Vivi ... le "goto definition of ..." ou la liste des classes / fonctions, c'est en effet ... excellentissime.
Mais tout le monde n'a pas VC++ ... ou alors quand tu ouvres vite fait un fichier source (par exemple apres avoir reupéré des sources qui compilent sous Linux) et que comme t'as pas de projet créé, VC++ il peut rien pour toi, ...
Et comme le dit Cherrytree, c'est plus beau comme ca!
Marsh Posté le 13-03-2002 à 14:57:42
HelloWorld a écrit a écrit : Mais tout le monde n'a pas VC++ ... |
y a ça aussi dans Borland C++ Builder & Delphi
Marsh Posté le 13-03-2002 à 15:01:28
Mais je veux pas faire " goto definition of", je veux rester ou je suis pour taper ma fonction
La completion automatique des nom de fontion ca existe aussi sous nux avec les bons environnement de dev. mais après tout, je pense que ca encourage les gens à etre paresseux avec leur convention de nommage
Marsh Posté le 13-03-2002 à 15:08:20
HelloWorld > je parlais juste de la recherche dans ton cas précis. au lieu de chercher globalVar, tu peux chercher [parenthèse?][espace?]globalvar[espace?][virgule?] par ex. je dis qu'il y a ça sous vc++, je suppose qu'il doit y avoir au moins 40 versions de la chose paramètrable différemment sous emacs.
par contre je ne mets jamais d'espace dans les appels de fonctions. parfois dans les if/while lorsque l'expression est assez complexe, sinon c'est juste keyword (expression operateur expression).
Marsh Posté le 12-03-2002 à 08:56:48
Tout est dit.
Moi j'ai tendance à être plus java en tout, mais pour certains langages comme le SQL j'aurais plutôt à m'orienter plutôt vers un style C++, je ne sais pas pourquoi. Aors il faut bien qu'un jour je mette les choses au point.
Et puis si possible précisez les sites à partir desquels vous avez construit votre convention.
Merci d'avance pour votre participation!
[jfdsdjhfuetppo]--Message édité par Krueger--[/jfdsdjhfuetppo]
---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi