Les blocs C, faudrait il les ecrire comme ceci (ecriture 1) :
ou comme ceci (ecriture 2) :Code:
1
2
3 if (cond) { /* instructions */ }
Code:
1
2
3
4 if (cond) { /* instructions */ }
Version imprimable
Les blocs C, faudrait il les ecrire comme ceci (ecriture 1) :
ou comme ceci (ecriture 2) :Code:
1
2
3 if (cond) { /* instructions */ }
Code:
1
2
3
4 if (cond) { /* instructions */ }
Personellement je préfère la deuxième: ça fait plus "propre"; mais la première insiste sur le fait: "c'est un bloc "if" qui s'ouvre avec cette accolade".
Bah je trouve que la premiere permet d'ecrire plus de code sur moins de lignes, je sais pas si c'est une bonne chose ou pas
Dans ce cas ya ça aussi:Citation:
ecrire plus de code sur moins de lignes
:aie:Code:if (cond) { /* instructions */}
:aie:
Avant de découvrir java je codais dans le style bloc 2, maintenant je code dans le style bloc1. Si je devais me justifier, je dirai que ca fait economiser des lignes de code et je trouve ca plus propre.
l'economie de lignes de codes n'est pas un argument recevable mon capitaine :roll:.
avant tout privilégier la lisibilité du code ...
et je trouve le bloc2 vachement plus lisible, d'ailleur quand un code as ete ecris differement, j'ai un utilitaire nommé indent qui remet tout en place proprement ;)
et puis quand je fait un cat *.c | wc -l (me sors le nombre de lignes de codes contenu dans tout les .c du repertoire) j'ai l'impression d'avoir bossé :aie:.
perso, y'a pas photo, c'est la methode 2 la mieux.
avec la 1, je les loupes toujours les accolades!!!
avec la 2ieme solution, le code me parait beaucoup plus clair meme si cela prend plus de ligne ligne (et puis, on est generalement plus a 2octets pres...!!!;)).
voila...:P:P:mouarf::mouarf:
2eme pour moi mais ca depend de ta vision d'ensemble :=)
Le 2 sans hésiter, plus propre et surtout plus lisible pour l'ensemble du code source, cela fait une belle et bonne petit séparation encore une condition par exemple et le corps !
Jpensais pas qu'il y allait avoir autant d'adeptes de la 2 :mouarf:
L'autre raison pour laquelle je prefere la 1 c'est que, pour les blocs mono instruction, je suis pas tenté d'ommettre les accolades
Avec la 2, j'aurais été tenté de faireCode:
1
2
3
4
5 if (cond) { action; } else { action; }
carCode:
1
2
3
4 if (cond) action; else action;
serait trop lourdCode:
1
2
3
4
5
6
7
8 if (cond) { action; } else { action; }
Qui marche mais est difficilement maintenable.Citation:
Avec la 2, j'aurais été tenté de faire
Code :
Code:
1
2
3
4 if (cond) action; else action;
ca depend. moi, je sais que pour cette forme reduite, j'utilise soit le passage a la ligne styleCitation:
Envoyé par seriousme
que tout sur une ligne styleCode:
1
2
3
4
5 if(cond) action; else action;
quant a la maintenabilite de tout ca, je ne trouve pas qu'il y est beaucoup de difference parmi toutes les formules qui existent (meme avec accolades) pour si peux de codeCode:
1
2
3 if(cond) action; else action;
Moi j'utilise le 2 pour mes fonctions et le 1 pour les boucles, conditions...
Code:
1
2
3
4
5
6
7
8 void mafonction(int a) { if(a == 3) { foo(); barf(); } }
Perso la methode 1 mais bon j'ai pas d'argument pour ou contre. indent permet de passer de l'un a l'autre :)
A noter que gnu preconise 2 alors que les bsd preconisent 1.
Oui mais avec beaucoup de blocs non délimités par des accolades si il faut rajouter des infos il y a pas mal de chance pour en oublier une.Citation:
quant a la maintenabilite de tout ca, je ne trouve pas qu'il y est beaucoup de difference parmi toutes les formules qui existent (meme avec accolades) pour si peux de code
cela est tres vrai en effet...:hola: :aie::aie:Citation:
Envoyé par seriousme
Je place systématiquement des accolades, même pour une seule instruction.
En débuggage, on ajoute très souvent des lignes de tests divers, les accolades évitent les rupture de logique quand on ajoute ou supprime des lignes.
Pour l'anecdote, j'utilise Visual Studio 2005 (C++ et C#) et il y a une commande de reformatage automatique très pratique qui gère tout ça.
Uniquement la 2 !
La 2 est bocoup plus lisible...
Ya pas photo..
Pour moi du moin...
Mon prof de maths (docteur) lui par contre met en 1...
Chacun fait comme il veux!!!