Stand: 2016-03-05

Richtig lange Zeilen

Sollte Quelltext eine maximale Zeilenlänge haben? Und wenn ja: Wie lang sollten Zeilen höchstens sein?

Inhalt

Warum begrenzen?

In Zeiten großer Monitore vertreten einige Entwickler die Meinung, dass man keine Begrenzung der Zeilenlänge mehr bräuchte, weil ja auch lange Zeilen komplett auf den Monitor passen würden. Aber abgesehen davon, dass es immer wieder Zeilen gibt, die doch nicht ohne horizontales Scrollen drauf passen, gibt es ein paar praktische Gründe für die Begrenzung der Zeilenlänge.

Auflösen von Konflikten in IntelliJ IDEA
Auflösen von Konflikten in IntelliJ IDEA

Welche Länge ist die richtige?

Die Style Guides verschiedener Programmiersprachen begrenzen die Zeilenlänge auf folgende Werte:

Konvention Maximale Zeilenlänge
Google Java Style 80 oder 100
Google C++ Style Guide 80
Python 79
Perl Best Practices 78
C Code Style Guidelines 80
Scala Style Guide ca. 80
Airbnb's Ruby Style Guide 100
PHP (PEAR) 75 - 85
JavaScript (jQuery) 80 empfohlen, max 100
Mozilla Coding style 80
D Style 80 empfohlen, max 120

Die traditionellen 80 Zeichen sind also nach wie vor weit verbreitet. Als Argumente dafür werden häufig die gute Lesbarkeit und, aus meiner Sicht eher exotische, technische Beschränkungen angeführt. In gedruckten Werken sind die Zeilen zu Gunsten der Lesbarkeit meistens noch ein Stück kürzer als 80 Zeichen. Aber ist Quelltext nicht etwas völlig anderes als der Text eines Buches? Und sind so kurze Zeilen auf heutigen Monitoren überhaupt noch sinnvoll?

Tatsächlich stammt die 80-Zeichen-Konvention von den Lochkarten aus der Computer-Steinzeit.

Die übliche maximale Zeilenlänge von knapp 80 Zeichen in E-Mails und Textdateien geht auf dieses Lochkartenformat zurück, ebenso das Darstellungsformat von meist 80 Zeichen Breite auf den Terminals (oder Terminal-Emulationen) von IBM-Großrechnern, welche u. a. als Datenerfassungsgeräte die Lochkarten später verdrängten.
Fortran-Lochkarte
Card from a Fortran Program: Z(1) = Y + W(1) von Arnold Reinhold, Lizenz: CC BY-SA 2.5

Für gute Lesbarkeit wie bei einem Buch wären 80 Zeichen prinzipiell vielleicht auch für Quelltext nicht schlecht, aber Quelltext ist eben kein Buch! Im Quelltext gibt es zahlreiche Einrückungen, die oft mehrere Ebenen tief sind, und lange Konstrukte, die es so in keinem Buch geben würde. Wenn eine Zeile wie die folgende dann auch noch ein oder zwei Ebenen eingerückt ist, sind 80 Zeichen schnell erreicht.

private static final Map<String, List<String>> synonyms = new HashMap<>();

Kurze Zeilen können außerdem dazu verleiten, weniger sprechende oder gar kryptische Namen im Code zu verwenden.

Meine Empfehlung: 100 Zeichen. Das ist gut lesbar, erspart allzu viele künstliche Umbrüche und ermöglicht auf großen Monitoren die Anzeige von drei Dateien nebeneinander. Nicht zu unterschätzen ist auch der Widerstand von Kollegen, die bisher Zeilen mit 200 und mehr Zeichen geschrieben haben! 80 Zeichen sind für die eine noch viel härtere Einschränkung.

Praktische Hinweise

Damit das Limit auch tatsächlich eingehalten wird, sollten alle Entwickler in ihrer Entwicklungsumgebung die Grenze als Linie einblenden.

Begrenzung der Zeilenlänge in IntelliJ IDEA

Wenn es für die Entwicklungsumgebung möglich ist, Code-Konventionen festzulegen, sollte man auch dort den Wert eintragen. So wird die maximale Zeilenlänge auch gleich beim automatischen Formatieren von Code verwendet.

Sinnvoll ist dann noch, festzulegen, wie Code umgebrochen werden soll, damit die einheitliche Zeilenlänge nicht zu uneinheitlicher Formatierung führt.

Und als letzten Schritt sollte die Einhaltung der Zeilengrenze durch eine entsprechende Regel auf dem Continuous Integration Server geprüft werden. Eine abgeschwächte Variante ist, nur neue oder geänderte Zeilen zu prüfen.

Weitere Information