Si vous consultez les directives de style de code pour de nombreux langages ou projets, vous trouverez probablement une règle fixant le nombre maximal de caractères à 80 par ligne. C'est aussi souvent la configuration par défaut pour certains développeurs qui utilisent le mode console (affichant 80 caractères par ligne sur 25 lignes). Mais en 2020, cette règle est-elle encore pertinente ?
Le sujet a plusieurs fois été abordé sur des forums ou dans des listes de diffusion pour développeurs. Pour certains, cette règle est obsolète. Elle date des années 1920-1930 où les ressources matérielles étaient très limitées. Autrefois, il était nécessaire de faire tenir votre code dans 80 colonnes, sinon les caractères au-delà de la limite étaient automatiquement placés à la ligne suivante ou s'affichaient en dehors de la partie visible de l'écran, ce qui n'était pas visuellement agréable. Presque un siècle plus tard, cette règle existe encore dans le monde moderne du développement informatique.
Dans la communauté Linux, la limite des 80 caractères par ligne a souvent été au centre de discussions, comment c'était le cas le vendredi 29 mai, où un développeur a préconisé cette limite « pour toujours » dans un fil de discussions sur le nettoyage du noyau Linux. Linus Torvalds, dont la position est connue depuis plus d'une décennie, a donc profité pour dire ce qu'il pense de la limite de 80 caractères par ligne et de ceux qui s'y agrippent encore.
« Si vous ou Christoph [un développeur du noyau Linux, NDLR] avez des lignes de 80 caractères, vous obtiendrez peut-être une sortie moche. C'est pénible. Mais c'est votre choix. Vos limitations matérielles ne devraient pas être un problème pour le reste d'entre nous », lance Linus Torvalds.
Pour le père de Linux, la limite des 80 colonnes oblige à faire fréquemment des retours à la ligne. Or « les retours à la ligne excessifs sont MAUVAIS », dit-il. « Ils causent des problèmes réels et quotidiens. Ils causent des problèmes pour des choses comme "grep" à la fois dans les patterns et dans la sortie, car grep (et beaucoup d'autres utilitaires Unix très basiques) est fondamentalement basé sur les lignes. »
« Le fait est que beaucoup d'entre nous ont depuis longtemps abandonné le modèle de terminal à 80 colonnes, pour la même raison que nous avons beaucoup plus de lignes que 25 lignes visibles à la fois. Et honnêtement, je ne veux pas voir de correctifs qui aggravent l'expérience de lecture du kernel pour moi et probablement pour la grande majorité des gens, en se basant sur l'argument selon lequel certaines personnes étranges ont de petites fenêtres de terminal », ajoute Linus Torvalds.
Le créateur de Linux les invite à utiliser du matériel avec des configurations modernes. Il dit par exemple que lorsqu'il juxtapose ses fenêtres de terminal sur son écran, il peut avoir 6 terminaux visibles en même temps, et c'est parce qu'il en a trois de larges. Et, poursuit-il, « C'est avec ma fenêtre de terminal "100x50" par défaut, pas avec un 80x25 (allez dans les paramètres de votre terminal gnome, vous constaterez que le 80x25 n'est qu'une configuration par défaut que vous pouvez changer). Et la plupart de mes terminaux sont plus larges et de hauteur de plus grande que cela. J'ai vérifié, et mon principal est de 142x76 caractères en ce moment, car il s'avère que des terminaux plus larges (et de plus grande hauteur) sont utiles, et pas seulement pour le code source. »
Haussant le ton, Linus affirme qu'il y a beaucoup de choses pour lesquelles les terminaux 80x25 (80 colonnes et 25 lignes) sont vraiment limitants, et estime qu'ils ne sont plus pertinents pour la plupart des développeurs. « Donc non. Je ne me soucie pas de quelqu'un avec une fenêtre de terminal 80x25 », dit-il. Pour lui, les développeurs qui s'accrochent à une configuration de terminal 80x25 alors qu'ils ont des limitations matérielles se trouvent dans la même situation que ceux qui disent que la compilation du noyau Linux prend 10 heures alors qu'ils font le développement du noyau sur un Raspberry Pi avec 4 Go de RAM.
« Les personnes ayant un matériel restrictif ne devraient pas le rendre plus gênant pour les personnes disposant de meilleures ressources. Oui, nous accepterons les choses dans des limites raisonnables. Mais non, les terminaux à 80 colonnes en 2020 ne sont plus "raisonnables" en ce qui me concerne. Les gens utilisaient couramment des terminaux à 132 colonnes même dans les années 80, n'essayez pas de faire de 80 colonnes un standard inamovible. Si vous choisissez d'utiliser un terminal de 80 colonnes, vous pouvez vivre avec le retour à la ligne. C'est aussi simple que cela ».
De manière générale, Linus semble appeler les développeurs à tirer pleinement parti des ressources dont ils disposent aujourd'hui et d'y adapter leur style de développement. Il affirme que les lignes plus longues sont tout simplement utiles. Ce qui, selon lui, s'explique en partie par le fait que nous ne programmons plus dans les années 80, et notre code source est donc fondamentalement plus vaste. Il estime qu'être concis est toujours une bonne chose, et les noms trop verbeux ne sont pas intrinsèquement meilleurs. « Mais encore, il est tout à fait raisonnable d'avoir des noms de variables de 10 à 15 caractères et cela rend le code plus lisible », dit-il. Linus Torvalds pense aussi qu'il faut écrire des choses correctement au lieu d'utiliser des abréviations. Il justifie l'utilisation de tabulations larges par le fait que cela fait de l'indentation quelque chose qu'on peut voir dans la structure du code en un coup d'œil. « Eh oui, nous faisons des sauts de ligne à un moment donné. Mais il n'y a vraiment aucune raison de faire en sorte que ce soit après 80 colonnes », a-t-il ajouté.
Source : Linus Torvalds
Et vous ?
Que pensez-vous des déclarations de Linus Torvalds ?
La limite de 80 caractères par ligne est-elle toujours pertinente dans notre époque ? Pourquoi ?
Linus Torvalds : « Vos limitations matérielles ne devraient pas être un problème pour le reste d'entre nous »
Le père de Linux fustige les partisans de la limite de 80 caractères par ligne de code
Linus Torvalds : « Vos limitations matérielles ne devraient pas être un problème pour le reste d'entre nous »
Le père de Linux fustige les partisans de la limite de 80 caractères par ligne de code
Le , par Michael Guilloux
Une erreur dans cette actualité ? Signalez-nous-la !