Wenn Sie den "rechten Rand anzeigen" in der IDE Ihrer Wahl aktivieren, werden wahrscheinlich standardmäßig 80 Zeichen verwendet. Ich neige dazu, es aus keinem anderen Grund auf 120 zu ändern, als es der Standard in einem Unternehmen war, mit dem ich vor ein paar Jahren zusammen war, und kein anderes Unternehmen hat mir gesagt, dass ich es anders machen soll.
Meine Frage ist, gibt es Studien, die tatsächlich zeigen, dass 80 Zeichen die optimale maximale Breite für die Lesbarkeit von Code sind, oder ist dieser Wert nur ein "so war es schon immer" und niemand weiß wirklich, warum es so ist? Und sollte die Breite einer Codezeile Teil Ihres Codierungsstandards sein?
code-readability
Fostah
quelle
quelle
Antworten:
Tatsächlich geht das 80-Spalten-Ding lange vor DOS. Es kommt von Kartenstempeln, die Geräte mit 80 Spalten waren.
Und um die Frage des OP zu beantworten, gibt es seit etwa 600 Jahren eine "Studie" - das gedruckte Buch. Diese haben sich im Laufe der Jahrhunderte unter Berücksichtigung der Lesbarkeit zu der Position entwickelt, an der sich die durchschnittliche Zeilenlänge für Text derzeit bei etwa 60 Zeichen befindet. Verwenden Sie zur besseren Lesbarkeit engere Ränder.
quelle
Erbarmen Sie sich der Programmierer, die Ihre Software später warten müssen, und halten Sie sich an ein Limit von 80 Zeichen.
Gründe, 80 zu bevorzugen:
Lesbar mit einer größeren Schrift auf Laptops
Lässt Platz, um zwei Versionen zum Vergleich nebeneinander zu stellen
Lässt Platz für Navigationsansichten in der IDE
Druckt ohne willkürliche Zeilenumbrüche (gilt auch für E-Mails, Webseiten, ...)
Begrenzt die Komplexität in einer Zeile
Begrenzt die Einrückung, was wiederum die Komplexität der Methoden / Funktionen begrenzt
Ja, es sollte Teil des Codierungsstandards sein.
quelle
Limits the complexity in one line
Ich bin mir nicht sicher, warum es besser ist, die Komplexität auf mehrere Zeilen zu verteilen. Es drückt einfach mehr auf deinen mentalen Stapel.Ich habe kein Studium, aber ich werde meine Erfahrungen erzählen.
Ich finde, dass horizontales Scrollen beim Umgang mit Text mühsam ist . Ich betrachte die Umgebung, in der der Code verwendet wird, und setze basierend auf diesem Kontext Breitenstandards.
Wenn ich beispielsweise in Emacs unter XWindows gearbeitet habe, hat es gut funktioniert, immer zwei Emacs-Fenster nebeneinander zu haben . Das beschränkte sie auf 80 Zeichen, das war also meine maximale Zeilenlänge.
Einmal habe ich in Visual Studio auf einem 1920x1200-Bildschirm gearbeitet. Ich würde es maximieren, wenn alle Werkzeugfenster an einer Seite angedockt wären. Es war noch genügend Platz für zwei nebeneinander angeordnete Editorfenster mit etwa 100 Zeichen vorhanden.
Ich finde auch, dass die längsten Zeilen von Methodenaufrufen mit langen Parameterlisten stammen . Dies ist manchmal ein Code-Geruch : Vielleicht sollte die Methode überarbeitet werden .
Wenn Sie und Ihre Co-Programmierer hochauflösende Bildschirme und scharfes Sehvermögen haben, verwenden Sie auf jeden Fall eine kleine Schrift und lange Zeilen. Umgekehrt benötigen Sie möglicherweise kurze Leitungen.
quelle
Normalerweise verwende ich 120-150, sofern die Firma nichts anderes beschreibt. Es kommt aber auch auf die Art des Codes an:
Bis vor ein paar Jahren war ich auf 100 beschränkt, aber jetzt werden normalerweise Breitbildschirme verwendet, und hochauflösende Monitore 120 sind sogar auf Laptops zu sehen (die ich kaum benutze).
Der Vergleich eines Bildschirms mit einem Buch ist nicht wirklich gut, da ein Buch mehr vertikalen Raum und ein Bildschirm mehr horizontalen Raum hat. Ich versuche immer eine Funktion max zu halten. ein sichtbarer Bildschirm lang.
quelle
Vielleicht sind die 80 Zeichen auch ein guter Punkt, um diese schlechten Getterketten zu vermeiden:
Wenn Sie es auf 80 Zeichen beschränken, würde vielleicht jemand diese Variablen lokalisieren und eine Nullprüfung usw. durchführen, aber vielleicht würden die meisten Programmierer sie in die nächste Zeile einschließen lassen. ich weiß es nicht
Abgesehen davon sind 80 Charaktere großartig, wie Starblue erwähnt. Dies sollte auf jeden Fall in die Kodierungsstandards eingehen.
quelle
Ohne Berücksichtigung von Hardwareeinschränkungen und Unterschieden beim Lesen von Code im Vergleich zur natürlichen Sprache sehe ich drei Hauptgründe, um Zeilen auf etwa 80 Zeichen zu beschränken.
quelle
Ich erinnere mich noch genau daran, dass ich irgendwo gelesen habe (ich glaube, es war in der agilen Dokumentation ), dass die Breite eines Dokuments für eine optimale Lesbarkeit etwa zwei Alphabete oder 60-70 Zeichen betragen sollte. Ich denke, die Linienbreite der alten Terminals ist teilweise auf diese alte typografische Regel zurückzuführen.
quelle
Die Option für den rechten Rand soll Ihnen die Breite der Seite anzeigen, wenn Sie den Code drucken möchten. Sie hat bereits zuvor angegeben, dass sie auf 80 festgelegt wurde, da die Zeilenlänge in der Vergangenheit vor der grafischen Benutzeroberfläche bis zum Stempeln so war Karten.
Ich habe kürzlich in einem Blog eine Empfehlung gesehen (ich kann mich nicht erinnern, welches Blog), die IDE-Schriftgröße zu erhöhen, um die Codequalität zu verbessern. Die Logik dahinter ist, dass Sie kürzere Zeilen schreiben, wenn weniger Code auf den Bildschirm passt Shouter-Funktionen.
Meiner Meinung nach erleichtern kürzere Zeilen das Lesen und Debuggen des Codes. Deshalb versuche ich, die Zeilen kurz zu halten. Wenn Sie ein Limit festlegen müssen, damit Sie besseren Code schreiben, wählen Sie, was für Sie funktioniert - auch wenn Sie produktiver sind Längere Zeilen können die Seitengröße und den Code nur auf einem breiten Bildschirm erhöhen.
quelle
Wie einige Leute in anderen Antworten darauf hingewiesen haben, ist der Grund für die Beschränkung auf 80 Zeichen teilweise historisch (Lochkarten, kleine Bildschirme, Drucker usw.) und teilweise biologisch (um zu verfolgen, in welcher Zeile Sie sich befinden, ist es im Allgemeinen gut, das Ganze sehen zu können Linie, ohne den Kopf drehen zu müssen).
Denken Sie jedoch daran, dass wir immer noch Menschen sind und Werkzeuge entwickeln, um unsere eigenen Einschränkungen zu lösen. Ich schlage vor, Sie ignorieren die gesamte Debatte über die Zeichenbeschränkung und schreiben einfach Dinge, die unabhängig von ihrer Länge sinnvoll sind, und verwenden eine IDE oder einen Texteditor, mit denen Sie die Zeilen richtig verfolgen können. Unter Verwendung des gleichen Arguments für die Einrückung in der Debatte zwischen Registerkarten und Leerzeichen sowie der Breite der Einrückungen schlage ich vor, dass Sie eine Einrückungsmarkierung (am häufigsten die Registerkarte) verwenden und nur die Benutzer ihre eigene IDE oder Texteditoren konfigurieren, um sie anzuzeigen wie sie es für sie am bequemsten finden.
Das Festhalten an einer festen Anzahl von Zeichen pro Zeile macht die Sache für alle außer der Zielgruppe immer schlimmer. Das heißt, wenn Sie den Code niemals teilen werden, niemals; dann gibt es wirklich keinen Grund, diese Diskussion überhaupt zu beginnen. Wenn Sie den Code freigeben möchten, sollten Sie die Leute wahrscheinlich selbst entscheiden lassen, was sie wollen, anstatt ihnen Ihre (oder andere) Ideale aufzuzwingen.
quelle
Nach meinem besten Wissen wird das 80-Zeichen als Codierungsstandard verwendet, um die Kompatibilität mit Befehlszeileneditoren zu gewährleisten (die Standard-Terminalbreite beträgt normalerweise 80 Zeichen). Bei modernen IDEs und großen Bildschirmauflösungen sind 80 Zeichen wahrscheinlich nicht "optimal", aber für viele Entwickler ist die Lesbarkeit im Terminal unerlässlich. Aus diesem Grund ist es unwahrscheinlich, dass die Breite von 80 Zeichen bald als De-facto-Standard für die Codebreite ersetzt wird. Und um Ihre letzte Frage zu beantworten: Ja, die Codebreite sowie alle anderen Merkmale, die die Lesbarkeit Ihres Codes beeinträchtigen, sollten in Ihren Codierungsstandards berücksichtigt werden.
quelle