Je comprends pas trop trop ça, mais j'suis certain que y'a une bonne raison que quelqu'un pourra m'expliquer.
La plupart des IDE (et éditeurs de texte) modernes proposent de choisir la taille des tabulations. Du coup, pourquoi ne pas fixer, chez toi, la taille des tab à 2 et identer avec des tabs. Si quelqu'un d'autre lit ton code et qu'il préfère une taille de 3, ça va fonctionner nickel avec son éditeur de texte sans rien changer, non ?
Oui Javier, on est d'accord. Et ça me fait penser que plus haut y avait quelqu'un qui disait : "indentation à 2 (ou 3, je sais plus) espaces, pas de tabulations, comme ça mon code s'affiche pareil chez tout le monde". Oui mais non, si moi je les veux de 4 espaces mes indentations, mon IDE me met des tabulations à 4 espaces…
C'est aussi une forte question d'habitude. A titre perso je fait principalement du Python et le standard de facto c'est "tabulation avec 4 espaces". Et c'est devenu une habitude que du coup j'utilise pour les autres technos que j'utilise.
C'est juste un truc que j'ai vu dans un projet open source : "indentez avec deux espaces svp" et je me demandais pourquoi.
J'ai l'impression que (dans leur cas) c'est parce qu'il font des revues sur les pull request depuis GitHub directement. Et dans l'UI de GitHub les tabs prennent vraiment beaucoup de place. Du coup je pense que (pour eux) ça joue aussi.
Tu fais comment quand tu dois couper une ligne parce qu'elle est trop longue ?
Pourquoi couper une ligne ?
Il suffit de demander à son éditeur de texte/IDE de faire un retour à la ligne automatique. Ainsi, pas de problème de ligne longues, l’indentation est respectée, et, comme avec les tabulations, chacun à ses coupures de ligne à la limite qui lui convient.
Moi aussi, d'ailleurs je cherchais un moyen pour "résoudre" ce "problème", et je suis tombé sur PSR (je fais principalement du PHP, pas de pierres svp ), qui recommandé d'utiliser des espaces, donc je me suis dit : je vais être un mouton, c'est pratique des fois, et je suis resté avec les espaces.
Sublime Text et l'auto-indent m'embêtaient particulièrement.
Je trouve que ça coupe le flow d'un code source, d'avoir une ligne qui en prend deux et des éléments non alignées (oui, souvent, quand c'est trop long, c'est une liste).
Au niveau de l'indentation, je suis d'accord avec le fait que les tabulations sont sur le papier (et dans beaucoup de cas) mieux les espaces pour que chacun choisisse la taille qu'il veut.
En revanche, il y a des cas (genre en haskell) où une grande partie de l'"indentation" est plus de l'alignement.
Là, au niveau du do c'est de l'indentation, mais pour le let et le where c'est de l'alignement (et pas la même). Du coup, ça devient quand même plus simple de tout faire à l'espace.
Après, l'affichage du code d'autre personnes, ça se gère aussi à coup de gg=G.
Dans mon cas, j'utilise toujours les espaces par habitude, et parce que ça m'énerve beaucoup d'ouvrir un code et d'avoir un mix tabulation/espaces qui détruit complètement la lecture, mais pour les cas où j'ai besoin de sauter une ligne, je le fais de façon cohérente :
1
2
3
4
voidfunc(objarg1,objarg2,)...
Ca m'est même arrivé de prendre certaines conventions parce que c'est pratique pour commenter, et c'est pas vraiment possible en tabulations :
1
2
3
4
5
6
voidfunc(objarg1,objarg2,objarg3// , obj arg4)...
Maintenant, je ne vois clairement pas le pourquoi du débat tabulation/espace, et puis les tabulations ça fait des codes froids et fermés.
Si un code est trop indenté, j'aurais tendance à dire que le problème est ailleurs que dans un tab vs espace, c'est un bon indice quant à la nécessité d'un refactoring
Je trouve ça assez maladroit de citer Linus Torvalds. Déjà parce que le bonhomme est assez peu ouvert au dialogue, et que tout ce qu'il dit l'est toujours comme une vérité absolue et évidente (pas besoin de justification). Ensuite parce qu'il s'agit du cas particulier du noyau Linux, principalement écrit en C. D'autres langages peuvent avoir plus de niveaux d'indentation et rester lisibles et propres, et il peut y avoir des tas d'exceptions à cette règle.
EDIT : même en C c'est un peu abusé. Pour moi, 3 niveaux d'indentation c'est fonction-boucle-condition… Et je ne parle même pas de Java, cet horrible langage.
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte