Linus Torvalds réitère sa position tabulations contre espaces avec un piège au noyau

Agrandir / Canettes de soda light Tab exposées en 2011. Tab a été abandonné en 2020. Il n’y a jamais eu de soda nommé « Spaces » qui ait eu un culte.

Getty Images

N’importe qui peut contribuer au noyau Linux, mais la suggestion de validation de n’importe qui peut devenir le centre d’intérêt du maître et homonyme du noyau, Linus Torvalds. Torvalds n’est pas trop attaché à la gentillesse, bien qu’il y travaille depuis 2018. Vous pouvez avoir un aperçu de cette approche plus récente, moins chargée de malédictions, dans la façon dont Torvalds a récemment abordé un engagement avec lequel il était farouchement en désaccord. Cela implique des onglets.

Le commit de la semaine dernière a modifié exactement une chose sur une ligne, en remplaçant un caractère de tabulation par un espace : « Cela aide les analyseurs Kconfig à lire le fichier sans erreur. » Torvalds a répondu avec son propre commit, comme l’a repéré The Register, qui « ajouterait volontairement des onglets cachés ». Essayer de régler le problème des tabulations par rapport aux espaces a semblé éveiller Torvalds à la nécessité de rendre les échecs de détection des tabulations « plus évidents ». Torvalds aurait ajouté davantage, écrit-il, mais il ne « voulait pas rendre les choses plus laides que nécessaire. Mais cela *pourrait* être nécessaire s’il s’avère que nous voyons davantage de ce genre d’outillage idiot ».

Si vous avez lu jusqu’ici et que vous ne comprenez pas ce qui se passe, permettez-moi, moi qui ai échoué en CS mineur, de vous offrir une explication rapide : les onglets contre les espaces ne seront jamais vraiment résolus, codifiés ou corrigés par les normes, et l’énergie Les efforts consacrés à cette question au fil du temps pourraient, s’ils étaient exploités, alimenter une ou plusieurs petites nations. Pourtant, le noyau Linux a son propre style de codage, et il cite directement « K&R » ou Kernighan & Ritchie, les auteurs de la bible du codage. Le langage de programmation C, qui est un livre à onglets. Si vous soumettez du code noyau, il est préférable d’utiliser des tabulations (des tabulations de huit caractères, idéalement, bien que cela soit lié en partie à l’historique du télétype et de l’imprimante en ligne).

En tentant de lisser une infime partie du noyau afin qu’un outil d’analyse puisse voir un caractère d’espace comme un espace de délimitation, Prasad Pandit a suscité par inadvertance une réfutation robuste :

On ne sait pas exactement de quel outil il s’agit, mais assurons-nous qu’il soit corrigé. Parce que si vous ne pouvez pas analyser les onglets comme des espaces, vous ne devriez pas analyser les fichiers Kconfig du noyau.

En fait, rendons une telle rupture plus évidente qu’une option ésotérique de taille d’enregistrement de trace. Si vous ne pouvez pas analyser les onglets, vous ne pouvez pas avoir de tailles de page.

Oui, la confusion entre tabulation et espace est malheureusement une chose traditionnelle d’Unix, et « make » est célèbre pour être cassé à cet égard. Mais non, cela ne veut pas dire que tout va bien.

Les onglets cachés de Torvalds apparaissent dans la quatrième version candidate du noyau Linux 6.9, qui, selon Torvalds, n’avait « rien de particulièrement inhabituel » la semaine de sa sortie.

Divulgation : L’auteur est un internaute dans la mesure où il a une idée de ce qu’il fait.

Ce message a été mis à jour à 18h33, heure de l’Est, pour résoudre certains problèmes de saut de ligne dans le blockquote de Torvalds. L’ironie a été dûment notée. Un meilleur lien concernant les Tabs Vs. Le débat sur les espaces a également été interverti.

Source-147