Tout à fait, voilà qui explique avec des mots sensés ma préférence personnelle. Le but est de pouvoir parcourir le code du regard verticalement sans avoir à faire trop de lectures horizontales pour savoir si un bloc commence et pourquoi.
Le plus dur pour moi dans l'exemple donné plus haut, c'est ce passage :
....if(fork()) {
........printf("Je suis ton père\n");
....} else {
........printf("Noooooon !\n");
....}
Dans mon parcours vertical, je rencontre "if" qui démarre un bloc... Avec un peu d'entraînement je suis sûr que je pourrais comprendre aussi rapidement que si j'avais un :
if
{
mais cela m'ajoute déjà un peu de travail intellectuel.
Ensuite vient le pire :
....} else {
Sur la même ligne j'ai une fin de bloc et le début d'un nouveau bloc. Je suis obligé d'interrompre ma descente pour lire la ligne et comprendre que ce deuxième bloc est un bloc "else".
Quand on a un code aéré, la place que prend le code est largement compensée par la rapidité à laquelle on peut le parcourir :
while(1)
{
....malloc(1);
....if(fork())
....{
........printf("Je suis ton père\n");
....}
....else
....{
........printf("Noooooon !\n");
....}
....malloc(1);
}
Là, en un regard, je chope directement "malloc" "if" "else" "malloc" sans avoir à purifier le début de la ligne "else" des {} éventuelles.
[^] # Re: Saut de ligne avant l'accolade.
Posté par Samuel Verschelde (site web personnel) . En réponse à la dépêche O.S.T.D.C. une introduction au Développement en équipe. Évalué à 6.
Le plus dur pour moi dans l'exemple donné plus haut, c'est ce passage :
....if(fork()) {
........printf("Je suis ton père\n");
....} else {
........printf("Noooooon !\n");
....}
Dans mon parcours vertical, je rencontre "if" qui démarre un bloc... Avec un peu d'entraînement je suis sûr que je pourrais comprendre aussi rapidement que si j'avais un :
if
{
mais cela m'ajoute déjà un peu de travail intellectuel.
Ensuite vient le pire :
....} else {
Sur la même ligne j'ai une fin de bloc et le début d'un nouveau bloc. Je suis obligé d'interrompre ma descente pour lire la ligne et comprendre que ce deuxième bloc est un bloc "else".
Quand on a un code aéré, la place que prend le code est largement compensée par la rapidité à laquelle on peut le parcourir :
while(1)
{
....malloc(1);
....if(fork())
....{
........printf("Je suis ton père\n");
....}
....else
....{
........printf("Noooooon !\n");
....}
....malloc(1);
}
Là, en un regard, je chope directement "malloc" "if" "else" "malloc" sans avoir à purifier le début de la ligne "else" des {} éventuelles.