it-swarm.dev

La limite de 80 caractères est-elle toujours pertinente à l'époque des moniteurs à écran large?

sur un moniteur à écran large, on peut facilement voir plus de 80 caractères à la fois, sans barres de défilement. même linus torvalds voit la limite de 80 caractères comme obsolète .

alors, la limite de 80 caractères est-elle toujours pertinente à l'époque des moniteurs à écran large?

55
lesmana

Il y a plusieurs raisons de toujours respecter une limite de 80 caractères (ou une limite de 74 caractères est encore meilleure; cela permet au code de rester inférieur à 80 colonnes même lorsque des marqueurs de différence et des citations par e-mail sont ajoutés, si vous effectuez une révision de code sur listes de diffusion).

Même à l'ère des moniteurs à écran large, j'aime avoir plusieurs fenêtres ouvertes côte à côte, montrant différentes parties du code. Par exemple, j'ai généralement un navigateur Web et un courrier électronique ouverts sur un seul écran, et deux fichiers et un terminal ouverts côte à côte sur un deuxième moniteur. Si vous avez des lignes qui exécutent plus de 80 colonnes, vous devez faire en sorte que l'éditeur encapsule les lignes (ce qui est laid et rend le code plus difficile à parcourir), ou élargissez vos fenêtres de sorte que vous ne puissiez pas en afficher autant à l'écran à une fois que.

Même si vous ne modifiez généralement pas de cette façon, si vous utilisez un outil de comparaison côte à côte, vous apprécierez les fichiers avec des longueurs de ligne raisonnables qui rendront votre comparaison plus facile à visualiser.

Il y a aussi un problème de densité de code. J'aime avoir beaucoup de contexte lors de la lecture du code. Il est beaucoup, beaucoup plus rapide de regarder de haut en bas d'une fenêtre que de faire défiler. Si vous avez de très longues lignes, vous avez également tendance à avoir des lignes qui varient beaucoup en longueur, ce qui entraîne beaucoup de gaspillage d'espace sur l'écran et la possibilité d'afficher moins de code à l'écran à un moment donné dans l'ensemble.

Et enfin, si vous avez des lignes très longues, cela signifie généralement que vous avez des lignes très compliquées, une indentation profonde ou que vous avez des identificateurs très longs. Tout cela peut être un problème. Les lignes compliquées en font probablement trop; si vous pouvez le décomposer en plusieurs lignes plus simples, vous devriez probablement le faire. Une indentation profonde signifie que vous imbriquez probablement trop de boucles et de conditions, ce qui peut rendre votre flux de code déroutant; envisager la refactorisation en plusieurs fonctions. Et si vos identifiants sont trop longs, cela peut rendre la lecture de votre code très difficile. Les gens reconnaissent généralement les mots comme des unités individuelles; ils ne lisent pas chaque caractère un par un, mais regardent la forme générale du mot. Les identifiants longs sont plus difficiles à distinguer de cette façon, et généralement s'ils sont aussi longs, ils contiennent des informations redondantes ou répétitives.

Maintenant, même si c'est toujours une bonne pratique de garder le code en dessous de 80 colonnes, ce n'est pas une de ces règles qui doivent être suivies religieusement, en se contorsionnant pour adapter une ligne alors qu'elle ne le fait pas. Je vous suggère d'essayer de garder tout votre code sous 80 colonnes, mais quand cela ne correspond pas, ne vous en faites pas trop.

28
Brian Campbell

Si je garde mes lignes à moins de 100 caractères environ, je peux avoir deux fenêtres d'édition côte à côte sur un écran large. Il est très utile d'avoir à la fois le fichier d'en-tête de classe et l'implémentation visibles en même temps, ou d'avoir du code d'un côté qui appelle le code de l'autre. Et, si je garde les lignes courtes, je n'ai pas besoin d'une barre de défilement horizontale sur mes fenêtres d'éditeur, ce qui me donne plus d'espace vertical.

80 caractères peuvent être obsolètes, mais il y a un certain mérite à garder les choses dans les limites du raisonnable.

46
Niall C.

Je ne pense pas que le moniteur ait quoi que ce soit à voir avec cela - du moins plus.

Si vous ne pouvez pas coder une ligne en 80 caractères, c'est probablement un signe de mauvais code de toute façon. Expressions trop complexes. Indentation trop profonde. etc. Vous devez arrêter et repenser ce que vous faites.

Mais si vous êtes sûr que le code nécessite plus de 80 lignes, allez-y et faites-le. Je pense qu'il vaut mieux avoir un code qui dépasse les 80 caractères que d'ajouter des changements idiomatiques pour le rendre plus petit.

Personnellement, je déteste ce genre de choses:

ret = my_function(parameter1, \
                  parameter2, \
                  parameter3, parameter4);

Au lieu de simplement:

ret = my_function(parameter1, parameter2, parameter3, parameter4);
29
Cesar Canassa

Au codage?

Oui, certainement. Un être humain normal ne sait pas trop bien lire. Avec quelques colonnes, vous bougez moins vos yeux, vous vous concentrez mieux et retardez la fatigue. C'est un gain minimum mais important.

20
Maniero

Oui, il existe des raisons de limiter la longueur de la ligne de code:

  1. Bien que nos écrans soient devenus larges, vous devez parfois imprimer votre code. Si seulement pour cette raison .
  2. Les téléspectateurs diff affichent souvent des lignes avec une division verticale - cela devient plus difficile si les lignes sont aussi longues qu'un écran large le permet.

Cela dit, 80, c'est un peu trop peu. Mais, malgré tout, certaines limitations sont probablement une bonne idée en tant que principe de conception.

Je dirais que les lignes extra longues ne doivent pas être interdites, car parfois elles sont nécessaires. Mais si la plupart des fonctions ne sont visibles que sur un écran de 30 pouces, le code présente quelques problèmes.

6
Assaf Lavie

C'est arbitraire, mais il y a une limite non arbitraire à ce qui est facile à lire. Je trouve que les colonnes de texte super larges sont très difficiles à numériser et à lire, qu'elles soient en code ou en prose. De plus, comme beaucoup d'autres réponses l'ont souligné, ce n'est pas comme si ce code allait être la seule chose sur votre écran. C'est formidable d'avoir deux fenêtres de code ou plus en même temps et de les faire tenir sur un seul écran large.

5
jerwood

Il n'est probablement pas pertinent de choisir exactement une limite de 80 caractères; qu'est-ce qui changerait si la limite est de 85, par exemple?

Il est vrai que les moniteurs utilisés aujourd'hui ont des résolutions plus élevées, mais dans un éditeur de texte/IDE, tout l'espace n'est pas pris dans la vue texte; dans l'éditeur que j'utilise montre à gauche la liste des fichiers inclus dans le projet.

La résolution utilisée dans un netbook ou un ordinateur portable n'est pas la même que celle utilisée dans les moniteurs; il est probablement judicieux d'utiliser une limite de caractères qui ne crée de "problèmes" pour personne.

3
kiamlaluno

Cela dépend vraiment de l'environnement de développement.

Par exemple, dans une grande entreprise avec des milliers de développeurs, il y a probablement des centaines de personnes qui, au cours de la vie d'un produit, devront regarder une partie de son code. Avec autant de personnes, il y en a forcément quelques-unes qui, pour une raison quelconque (matériel plus ancien, netbooks, etc.) fonctionnent à 800x600 ou moins. Il y a une certaine valeur à les accueillir.

Dans mon entreprise de 25 personnes, cependant, je dis le visser. Nous utilisons tous deux moniteurs modernes à la résolution maximale - 120-140 environ, c'est la directive informelle.

2
Fishtoaster

Avoir une certaine limite est certainement logique. Mais la limite de 80 caractères est trop contraignante. Je préfère quelque chose comme une limite de 96 caractères. Il est assez large pour la plupart du code que je dois traiter et il est assez étroit pour que deux fichiers puissent être mis côte à côte pour diff'ing (sur un écran large).

Je crois que la lisibilité du code l'emporte sur toutes les autres préoccupations. Et avec 96 caractères par ligne, le code peut être rendu beaucoup plus lisible qu'avec 80.

Je n'accepte pas l'argument selon lequel la plupart des gens définissent leurs terminaux sur 80 caractères de large, non que les imprimantes doivent encapsuler les lignes de plus de 80 caractères. Ce n'est pas une limite stricte comme c'était le cas dans un passé (lointain). Vous pouvez facilement régler le terminal et la largeur de l'imprimante sur 100 caractères.

2
alexeiz

Non, ce n'est plus pertinent:

  • La plupart des polices utilisées dans les applications et sur le Web ne sont de toute façon pas à largeur fixe. En d'autres termes, 80 caractères! = 80 caractères.
  • Comme vous l'avez dit, les largeurs d'écran ont changé - 80 caractères n'est pas une limite raisonnable.

80 caractères était vraiment une directive pour les polices à largeur fixe dans un environnement de console.

Bien sûr, si vous utilisez toujours une police à largeur fixe dans un environnement de console ... alors bien sûr, 80 caractères sont raisonnables :)

1
Damovisa

Si vous utilisez un éditeur dans une interface graphique, les 80 caractères par ligne ne sont pas pertinents, car la plupart des éditeurs décents - par exemple Notepad ++ - ont un bouton pour basculer le retour à la ligne. Avec cela, cela ne devrait pas être un problème, même lors de l'affichage du code dans une fenêtre mince.

0
Lajos Meszaros