Code ist Dokumentation

08.01.2008 19:48

Die erneute Beschäftigung mit Ruby zeigte mir wieder, wieviel eleganter Ruby im Vergleich zu Java oder PHP ist. Dabei spielen verschiedene Spracheigenschaften eine wesentliche Rolle, so dass die Eleganz nicht nur auf die Syntax zurückzuführen ist.

Unter Eleganz verstehe ich, dass man ein Programm nicht so kurz wie möglich, sondern so lesbar wie möglich schreiben kann. Wenn man PHP und Java mit Ruby vergleicht, dann fällt einem auf, dass man viel weniger schreiben muss, um das selbe auszudrücken.

Groovy geht zwar ein wenig in die Ruby-Richtung, ist aber viel weniger mächtig und dementsprechend weniger prägnant.

Durch eine gute Unterstützung durch Entwicklungswerkzeuge kann man in Java die fehlende Mächtigkeit durch umfangreiche Möglichkeiten im Refactoring kompensieren und jederzeit gut lesbaren und kompakten Code schreiben. Zudem wirkt sich die fast schon zwingende Organisation in Paketen positiv auf die Projektstruktur aus.

Die Unterschiede in der Mächtigkeit der Sprach und der Unterstützung durch Entwicklungswerkzeuge habe somit Einfluss auf die Lesbarkeit von Code. Theoretisch ist jedes Problem zerlegbar in einzelne Anweisungen. Je besser Sprachen die Zerlegbarkeit und damit automatisch die Wiederverwendbarkeit und, dem entgegengesetzt, die Ordnung unterstützen, desto einfacher kann man Code verstehen, weil man alle notwendigen Informationen aus der Struktur der Klassen, den Klassennamen,den Funktionsname und den Parametertypen sowie den Parameternamen ablesbar. Eine Dokumentation ist dann auf der Ebene der Funktionen und der Klassen eigentlich nicht mehr notwendig. Da Code immer gültig ist, ist er somit die einzige nicht veraltete Dokumentation.

Damit erspart man sich das Schreiben und viel wichtiger das Anpassen von Dokumentation. Die Energie und Sorgfalt kann man viel besser in besseren Code stecken und hat zwei Fliegen mit einer Klappe geschlagen.


Empfehlungen: handy taschen | Good Job - Bad Job