• [^] # vive les for

    Posté par . En réponse à la dépêche Critères de personnalité d'un code. Évalué à 1.

    Par contre tu vas probablement trouver ça bizarre, pas intuitif et trop long.

    gagne!
    pour etre precis les if-do-while au lieu d'un for me donne des boutons et je les trouve illisibles.
    selon la facon de penser suivante:
    en C, for ne sert "a rien", puisqu'on peut le remplacer par while, il donne juste une information semantique au relecteur lui evitant d'avoir a comprendre ce que peut bien etre ce if-do-if-while bizarre. donc je revendique l'usage du for, meme pour une liste chainee.

    a la limite, j'aurai compris que tu fasse un while mais pas un do-while, la condition du while etant illisible car a la fois une condition et une incrementation, ce qui n'est pas le cas dans un for.

    j'aurai accepte que tu ecrives:


    list = my_list;
    while (list != NULL) {
    if (match(list->item, template_item) != 0)
    return list->item;
    list = list->next;
    }
    return default_item;


    mais a vrai dire, "for(a; b; c) d;" est strictement equivalent a "a; while(b) { d; c; }", donc je trouve plus lisible la forme avec for, parce que je comprends tout de suite que ca veut dire "pour tout element de la liste", ce qui est moins clair avec la forme while.
    je pense que le "for" est plus proche de la facon dont on concoit l'algorithme avant de le coder, alors que le for explose en while (ou en do-while) sont plus proche de la facon dont le code s'execute, et donc a perdu une information utile pour la maintenance du code.
    c'est un avis que je comprends qu'on ne partage pas forcement...

    Comme quoi le style reflete vraiment une personnalité.

    entierement d'accord avec toi.