• [^] # Re: aligner tabuler

    Posté par (site web personnel, Mastodon) . En réponse au journal Fins de tabulation élastiques: la bonne manière d'indenter et d'aligner le code. Évalué à 8. Dernière modification le 29 juillet 2018 à 18:08.

    ne changez jamais la signification du caractère \t.
    Autrement dit, si vous choisissez d’indenter sur 4 colonnes au lieu de 8, utilisez 4 espaces

    Depuis quand « remplacer 1 caractère \t par 4 caractères » ne change pas la signification du caractère \t? Il est carrément supprimé et donc la signification de ce caractère est retirée du document ! Au lieu de supprimer la fièvre on casse le thermomètre !

    Une tabulation c’est une tabulation, pas « un caractère large de 8 espace dans une police mono ». C’est comme ça que je suis déjà arrivé devant du code indenté à 4 caractères où les indentations de second niveau (à 8 caractères) étaient indentés avec des tabulations, en gros :

    for (i = 0; i < 100 ; i++) {
    ⋅⋅⋅⋅if (tab[i] == 1) {
     → printf("tab[%d]: 1\n", i)
    ⋅⋅⋅⋅}
    }
    

    Et ça c’est entièrement compatible avec ce que tu dis.

    La tabulation n’est pas un caractère de substitution pour des longues chaînes d’espace, elle a un autre sens.

    C’est d’ailleurs pourquoi il est dommage de voir tant de projets (et même des standards) utiliser des espaces pour indenter le code alors qu’il y a à disposition un caractère avec une sémantique différente de l’espace !

    La sémantique est importante ! C’est utile d’avoir une sémantique différente entre ces deux espaces :

    {
     → int⋅i;
    }
    

    Le premier peut être supprimé par le préprocesseur/minifieur, pas le second, et ce sans aucune forme d’analyse syntaxique.

    ce commentaire est sous licence cc by 4 et précédentes