J'écris systématiquement l'accolade ouvrante et l'accolade fermante
sur une même colonne :
if (condition)
{
action;
}
Cette convention d'écriture me permet de voir immédiatement la
structure en blocs, d'autant que la plupart des éditeurs ont une
couleur spéciale pour les accolades.
Aussi ai-je énormément de mal à lire du code écrit avec l'autre type
de convention :
if (condition) {
action;
}
J'aimerais savoir si les gens qui ont l'habitude des deux conventions,
arrivent à lire aussi facilement la deuxième que la première. Et,
accessoirement, s'il existe des éditeurs capables de mettre les deux
éléments de même "niveau" (i.e. "if (condition) {" et "}") de la même
couleur.
En ce qui me concerne je privilégie la compacité et la vision du bloc en un coup d'oeil. J'utilise donc if( ...) { .... }
Ce que je n'aime pas avec le fait que les deux accolades ne soient pas sur la même colonne, c'est que ca rend inutile la fonction que j'utilise dans mon éditeur, qui me montre la "matching parenthesis". Je sais que si c'est sur la même colonne, c'es que je n'ai pas d'inconsistance au niveau des imbrications.
Voire : if(..) {...} // lorsque c'est court
Les lignes blanches me montrent immédiatement les pavés logiques et la maintenance en est plus facile à mon goût.
Ce que je n'aime pas avec le code conditionné sur la même ligne que le if, c'est que dans la majorité des IDE que j'utilise, il n'est pas possible de positionner un point d'arrêt sur le code en question.
Donc bein au final moi ce que j'utilise c'est ca:
if () { //... }
mais ceci ne me gêne pas non plus:
if () { //... }
Quand aux tabs, ici on utilise des tabs=4, ce qui donne je trouve un bon compromis lisibilité place.
Au final, ce qui compte c'est que le style soit consistant au niveau du projet, le reste ca n'est que du détail.
Mike
Bonsoir Fabien,
En ce qui me concerne je privilégie la compacité et la vision du bloc
en un coup d'oeil.
J'utilise donc
if( ...) {
....
}
Ce que je n'aime pas avec le fait que les deux accolades ne soient pas sur
la même colonne, c'est que ca rend inutile la fonction que j'utilise dans
mon éditeur, qui me montre la "matching parenthesis". Je sais que si c'est
sur la même colonne, c'es que je n'ai pas d'inconsistance au niveau des
imbrications.
Voire : if(..) {...} // lorsque c'est court
Les lignes blanches me montrent immédiatement les pavés logiques et la
maintenance en est plus facile à mon goût.
Ce que je n'aime pas avec le code conditionné sur la même ligne que le if,
c'est que dans la majorité des IDE que j'utilise, il n'est pas possible de
positionner un point d'arrêt sur le code en question.
Donc bein au final moi ce que j'utilise c'est ca:
if ()
{
//...
}
mais ceci ne me gêne pas non plus:
if ()
{
//...
}
Quand aux tabs, ici on utilise des tabs=4, ce qui donne je trouve un bon
compromis lisibilité place.
Au final, ce qui compte c'est que le style soit consistant au niveau du
projet, le reste ca n'est que du détail.
En ce qui me concerne je privilégie la compacité et la vision du bloc en un coup d'oeil. J'utilise donc if( ...) { .... }
Ce que je n'aime pas avec le fait que les deux accolades ne soient pas sur la même colonne, c'est que ca rend inutile la fonction que j'utilise dans mon éditeur, qui me montre la "matching parenthesis". Je sais que si c'est sur la même colonne, c'es que je n'ai pas d'inconsistance au niveau des imbrications.
Voire : if(..) {...} // lorsque c'est court
Les lignes blanches me montrent immédiatement les pavés logiques et la maintenance en est plus facile à mon goût.
Ce que je n'aime pas avec le code conditionné sur la même ligne que le if, c'est que dans la majorité des IDE que j'utilise, il n'est pas possible de positionner un point d'arrêt sur le code en question.
Donc bein au final moi ce que j'utilise c'est ca:
if () { //... }
mais ceci ne me gêne pas non plus:
if () { //... }
Quand aux tabs, ici on utilise des tabs=4, ce qui donne je trouve un bon compromis lisibilité place.
Au final, ce qui compte c'est que le style soit consistant au niveau du projet, le reste ca n'est que du détail.
Mike
Fabien LE LEZ
On Fri, 11 Jun 2004 09:44:48 +0200, "Mickael Pointier" wrote:
Ce que je n'aime pas avec le fait que les deux accolades ne soient pas sur la même colonne, c'est que ca rend inutile la fonction que j'utilise dans mon éditeur, qui me montre la "matching parenthesis".
Je n'ai pas cette fonctionnalité dans mon éditeur (je crois), par contre je l'ai dans l'oeil.
-- ;-) FLL, Epagneul Breton
On Fri, 11 Jun 2004 09:44:48 +0200, "Mickael Pointier"
<mpointier@edengames.moc> wrote:
Ce que je n'aime pas avec le fait que les deux accolades ne soient pas sur
la même colonne, c'est que ca rend inutile la fonction que j'utilise dans
mon éditeur, qui me montre la "matching parenthesis".
Je n'ai pas cette fonctionnalité dans mon éditeur (je crois), par
contre je l'ai dans l'oeil.
On Fri, 11 Jun 2004 09:44:48 +0200, "Mickael Pointier" wrote:
Ce que je n'aime pas avec le fait que les deux accolades ne soient pas sur la même colonne, c'est que ca rend inutile la fonction que j'utilise dans mon éditeur, qui me montre la "matching parenthesis".
Je n'ai pas cette fonctionnalité dans mon éditeur (je crois), par contre je l'ai dans l'oeil.
-- ;-) FLL, Epagneul Breton
Jean-Marc Bourguet
"Mickael Pointier" writes:
Bonsoir Fabien,
En ce qui me concerne je privilégie la compacité et la vision du bloc en un coup d'oeil. J'utilise donc if( ...) { .... }
Ce que je n'aime pas avec le fait que les deux accolades ne soient pas sur la même colonne, c'est que ca rend inutile la fonction que j'utilise dans mon éditeur, qui me montre la "matching parenthesis". Je sais que si c'est sur la même colonne, c'es que je n'ai pas d'inconsistance au niveau des imbrications.
Euh, cette fonction chez moi sert justement a voir que les parentheses et les accolades se correspondent bien comme je le pense, qu'elles soient alignees ou pas.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
En ce qui me concerne je privilégie la compacité et la vision du bloc
en un coup d'oeil.
J'utilise donc
if( ...) {
....
}
Ce que je n'aime pas avec le fait que les deux accolades ne soient pas sur
la même colonne, c'est que ca rend inutile la fonction que j'utilise dans
mon éditeur, qui me montre la "matching parenthesis". Je sais que si c'est
sur la même colonne, c'es que je n'ai pas d'inconsistance au niveau des
imbrications.
Euh, cette fonction chez moi sert justement a voir que les parentheses
et les accolades se correspondent bien comme je le pense, qu'elles
soient alignees ou pas.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
En ce qui me concerne je privilégie la compacité et la vision du bloc en un coup d'oeil. J'utilise donc if( ...) { .... }
Ce que je n'aime pas avec le fait que les deux accolades ne soient pas sur la même colonne, c'est que ca rend inutile la fonction que j'utilise dans mon éditeur, qui me montre la "matching parenthesis". Je sais que si c'est sur la même colonne, c'es que je n'ai pas d'inconsistance au niveau des imbrications.
Euh, cette fonction chez moi sert justement a voir que les parentheses et les accolades se correspondent bien comme je le pense, qu'elles soient alignees ou pas.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
BlueR
Moi je considère que les accolades font parti du if comme si l'accolade ouvrante indiquait le "begin du if" (et non pas du bloc) et l'accolade fermante le "end du if" :
if (condition) { action; }
Je suis aussi cette disposition, et éventuellement s'il y a plus de 3-4 blocs imbriqués et que je commence à y voir moins clair je rajoute un commentaire sur l'accolade fermante.
if (condition) { code..... while (condition) { code.......
} //while } // if
-- BlueR
Moi je considère que les accolades font parti du if comme si l'accolade
ouvrante indiquait le "begin du if" (et non pas du bloc) et l'accolade
fermante le "end du if" :
if (condition)
{
action;
}
Je suis aussi cette disposition, et éventuellement s'il y a plus de 3-4
blocs imbriqués et que je commence à y voir moins clair je rajoute un
commentaire sur l'accolade fermante.
if (condition)
{
code.....
while (condition)
{
code.......
Moi je considère que les accolades font parti du if comme si l'accolade ouvrante indiquait le "begin du if" (et non pas du bloc) et l'accolade fermante le "end du if" :
if (condition) { action; }
Je suis aussi cette disposition, et éventuellement s'il y a plus de 3-4 blocs imbriqués et que je commence à y voir moins clair je rajoute un commentaire sur l'accolade fermante.
if (condition) { code..... while (condition) { code.......
} //while } // if
-- BlueR
kanze
Fabien LE LEZ wrote in message news:...
On Wed, 09 Jun 2004 19:50:54 +0200, drkm wrote:
Je suppose qu'il s'agit d'une histoire de compacité du code. Ma console est en 35x80
Je n'ai que 27 lignes "utiles" pour le code, mais comme généralement, je lis le code à la roulette (de la souris), ça ne me dérange pas trop qu'un bloc soit très long :-)
Moi, j'utilise une police assez petite pour me permettre deux fenêtres de 60/70x80. Mais quand même -- c'est pour avoir la définition de la classe, les declarations des interfaces dont je me sers, etc., ainsi qu'un shell. La taille moyen d'une fonction, c'est moins d'une dizaine de lignes de code, quand même. Alors, même avec les accolades sur des lignes à part, et un écran 24x80, la fonction entière tient dans un écran.
Il ne faut pas exagérer, quand même.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Fabien LE LEZ <gramster@gramster.com> wrote in message
news:<ouihc0h7vsnlps6gkn28trmf5dtdg56jge@4ax.com>...
On Wed, 09 Jun 2004 19:50:54 +0200, drkm <usenet.fclcxx@fgeorges.org>
wrote:
Je suppose qu'il s'agit d'une histoire de compacité du code. Ma
console est en 35x80
Je n'ai que 27 lignes "utiles" pour le code, mais comme généralement,
je lis le code à la roulette (de la souris), ça ne me dérange pas trop
qu'un bloc soit très long :-)
Moi, j'utilise une police assez petite pour me permettre deux fenêtres
de 60/70x80. Mais quand même -- c'est pour avoir la définition de la
classe, les declarations des interfaces dont je me sers, etc., ainsi
qu'un shell. La taille moyen d'une fonction, c'est moins d'une dizaine
de lignes de code, quand même. Alors, même avec les accolades sur des
lignes à part, et un écran 24x80, la fonction entière tient dans un
écran.
Il ne faut pas exagérer, quand même.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Je suppose qu'il s'agit d'une histoire de compacité du code. Ma console est en 35x80
Je n'ai que 27 lignes "utiles" pour le code, mais comme généralement, je lis le code à la roulette (de la souris), ça ne me dérange pas trop qu'un bloc soit très long :-)
Moi, j'utilise une police assez petite pour me permettre deux fenêtres de 60/70x80. Mais quand même -- c'est pour avoir la définition de la classe, les declarations des interfaces dont je me sers, etc., ainsi qu'un shell. La taille moyen d'une fonction, c'est moins d'une dizaine de lignes de code, quand même. Alors, même avec les accolades sur des lignes à part, et un écran 24x80, la fonction entière tient dans un écran.
Il ne faut pas exagérer, quand même.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
kanze
Fabien LE LEZ wrote in message news:...
On Thu, 10 Jun 2004 21:59:36 +0200, "Yalbrieux" wrote:
J'utilise donc if( ...) { .... }
Question subsidiaire : comment se présente ce genre d'écriture quand la condition ne tient pas sur une ligne ?
Historiquement, j'indente au niveau des parenthèses, principalement parce que c'est ce que emacs fait automatiquement. Depuis peu, je travaille surtout avec vim, et j'indente deux niveaux, c-à-d :
if ( condition 1 && condition 2 ) { code régi par la condition ... }
Dans l'ensemble, ça me plaît mieux, mais il va falloir du temps avant que tout mon code soit conforme.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Fabien LE LEZ <gramster@gramster.com> wrote in message
news:<bd4ic09ojv926592l3fo9rjqlg34323s38@4ax.com>...
On Thu, 10 Jun 2004 21:59:36 +0200, "Yalbrieux" <yalbrieux@wanadoo.fr>
wrote:
J'utilise donc
if( ...) {
....
}
Question subsidiaire : comment se présente ce genre d'écriture quand
la condition ne tient pas sur une ligne ?
Historiquement, j'indente au niveau des parenthèses, principalement
parce que c'est ce que emacs fait automatiquement. Depuis peu, je
travaille surtout avec vim, et j'indente deux niveaux, c-à-d :
if ( condition 1
&& condition 2 ) {
code régi par la condition ...
}
Dans l'ensemble, ça me plaît mieux, mais il va falloir du temps avant
que tout mon code soit conforme.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
On Thu, 10 Jun 2004 21:59:36 +0200, "Yalbrieux" wrote:
J'utilise donc if( ...) { .... }
Question subsidiaire : comment se présente ce genre d'écriture quand la condition ne tient pas sur une ligne ?
Historiquement, j'indente au niveau des parenthèses, principalement parce que c'est ce que emacs fait automatiquement. Depuis peu, je travaille surtout avec vim, et j'indente deux niveaux, c-à-d :
if ( condition 1 && condition 2 ) { code régi par la condition ... }
Dans l'ensemble, ça me plaît mieux, mais il va falloir du temps avant que tout mon code soit conforme.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Alain Naigeon
"Fabien LE LEZ" a écrit dans le message news:
On Thu, 10 Jun 2004 21:59:36 +0200, "Yalbrieux" wrote:
J'utilise donc if( ...) { .... }
Question subsidiaire : comment se présente ce genre d'écriture quand la condition ne tient pas sur une ligne ?
Une condition longuette, c'est du bon style ? On peut la raccourcir avec des appels de fonctions, des typedef, etc.
--
Français *==> "Musique renaissance" <==* English midi - facsimiles - ligatures - mensuration http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/ Alain Naigeon - - Strasbourg, France
"Fabien LE LEZ" <gramster@gramster.com> a écrit dans le message news:
bd4ic09ojv926592l3fo9rjqlg34323s38@4ax.com...
On Thu, 10 Jun 2004 21:59:36 +0200, "Yalbrieux" <yalbrieux@wanadoo.fr>
wrote:
J'utilise donc
if( ...) {
....
}
Question subsidiaire : comment se présente ce genre d'écriture quand
la condition ne tient pas sur une ligne ?
Une condition longuette, c'est du bon style ? On peut la raccourcir
avec des appels de fonctions, des typedef, etc.
--
Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - anaigeon@free.fr - Strasbourg, France
On Fri, 11 Jun 2004 00:37:17 -0400, "Michel Michaud" wrote:
Entre autres, tu verras que les instructions ne sont pas toujours au même endroit, si tu ne mets pas de bloc lorsqu'il n'y a qu'une instruction.
Je me suis très vite aperçu que ne pas mettre d'accolades quand un bloc ne contient qu'une seule instruction, était rarement une bonne idée.
Moi aussi ! Evidemment on a tous oublié un jour d'ajouter les accolades lorsqu'il a fallu écrire une deuxième instruction.
(pour la même raison, je mets toujours un break théoriquement superflu à la fin de mes case).
--
Français *==> "Musique renaissance" <==* English midi - facsimiles - ligatures - mensuration http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/ Alain Naigeon - - Strasbourg, France
-- ;-) FLL, Epagneul Breton
Michel Michaud
Dans news:, Fabien LE
On Fri, 11 Jun 2004 00:38:43 -0400, "Michel Michaud" wrote:
Un bloc de 27 lignes EST TROP LONG
Même quand la moitié des lignes sont soit des lignes entièrement blanches, soit ne contiennent qu'une accolade ?
Si tu mets des accolades inutilement et si tu mets beaucoup de lignes vides, disons que je change mon affirmation pour « Un bloc de 27 lignes est probablement trop long ». :-)
Evidemment, en écrivant le code comme ça :
for (int i=0; i<10; ++i) { int j= f(i); if (j>i) --j; else ++j; cout << j; }
27 lignes, ça fait beaucoup. Mais quand je tape :
for (int i=0; i<10; ++i) { int j= f(i);
if (j>i) { --j; } else { ++j; }
cout << j; }
il suffit que la boucle soit un tantinet plus compliquée, et on arrive vite à une bonne vingtaine de lignes...
Le code que tu as écrit contient un bloc de 14 lignes. On est loin du compte. Trouve un vrai exemple de 27 lignes ou plus et on pourra discuter !
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:bdgic019uglci6p48j1d60dls3oetntlua@4ax.com, Fabien LE
On Fri, 11 Jun 2004 00:38:43 -0400, "Michel Michaud"
<mm@gdzid.com> wrote:
Un bloc de 27 lignes EST TROP LONG
Même quand la moitié des lignes sont soit des lignes entièrement
blanches, soit ne contiennent qu'une accolade ?
Si tu mets des accolades inutilement et si tu mets beaucoup de
lignes vides, disons que je change mon affirmation pour « Un bloc
de 27 lignes est probablement trop long ». :-)
Evidemment, en écrivant le code comme ça :
for (int i=0; i<10; ++i) {
int j= f(i);
if (j>i)
--j;
else
++j;
cout << j;
}
27 lignes, ça fait beaucoup. Mais quand je tape :
for (int i=0; i<10; ++i)
{
int j= f(i);
if (j>i)
{
--j;
}
else
{
++j;
}
cout << j;
}
il suffit que la boucle soit un tantinet plus compliquée, et on
arrive vite à une bonne vingtaine de lignes...
Le code que tu as écrit contient un bloc de 14 lignes. On est
loin du compte. Trouve un vrai exemple de 27 lignes ou plus et
on pourra discuter !
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
On Fri, 11 Jun 2004 00:38:43 -0400, "Michel Michaud" wrote:
Un bloc de 27 lignes EST TROP LONG
Même quand la moitié des lignes sont soit des lignes entièrement blanches, soit ne contiennent qu'une accolade ?
Si tu mets des accolades inutilement et si tu mets beaucoup de lignes vides, disons que je change mon affirmation pour « Un bloc de 27 lignes est probablement trop long ». :-)
Evidemment, en écrivant le code comme ça :
for (int i=0; i<10; ++i) { int j= f(i); if (j>i) --j; else ++j; cout << j; }
27 lignes, ça fait beaucoup. Mais quand je tape :
for (int i=0; i<10; ++i) { int j= f(i);
if (j>i) { --j; } else { ++j; }
cout << j; }
il suffit que la boucle soit un tantinet plus compliquée, et on arrive vite à une bonne vingtaine de lignes...
Le code que tu as écrit contient un bloc de 14 lignes. On est loin du compte. Trouve un vrai exemple de 27 lignes ou plus et on pourra discuter !
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Michel Michaud
Dans news:, Fabien LE
On Fri, 11 Jun 2004 00:37:17 -0400, "Michel Michaud" wrote:
Entre autres, tu verras que les instructions ne sont pas toujours au même endroit, si tu ne mets pas de bloc lorsqu'il n'y a qu'une instruction.
Je me suis très vite aperçu que ne pas mettre d'accolades quand un bloc ne contient qu'une seule instruction, était rarement une bonne idée.
Dans certains cas, mettre des accolades inutilement n'est pas une bonne idée (on discute dans le vague là hein !).
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:k5gic0tp1ldfsdtqb545ififenop7ah3t4@4ax.com, Fabien LE
On Fri, 11 Jun 2004 00:37:17 -0400, "Michel Michaud"
<mm@gdzid.com> wrote:
Entre autres, tu verras que les
instructions ne sont pas toujours au même endroit, si tu ne
mets pas de bloc lorsqu'il n'y a qu'une instruction.
Je me suis très vite aperçu que ne pas mettre d'accolades quand
un bloc ne contient qu'une seule instruction, était rarement
une bonne idée.
Dans certains cas, mettre des accolades inutilement n'est pas une
bonne idée (on discute dans le vague là hein !).
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/