Wie viele Zeilen hast du schon im Leben programmiert?

Mittwoch, 15.01.20. Bielefeld.

Der Titel klingt philosophischer als mein Text ist. Aber ich mag es, wenn ein Text eine ungeplante Interpretationsebene erlaubt: Das Leben operationalisiert und auf Zahlen heruntergebrochen. Vielleicht sind es lediglich diese Daten, die uns überdauern und lange bestehen bleiben, wenn wir längst nicht mehr da sind. Je nach Laune finde ich diesen Gedanken amüsant oder tröstlich.

Was meinen unsterblichen Code betrifft: Zeilen von mir sind immer noch in der SAP CRM Standardsoftware, ich glaube, ab der Version 3.1 bis zum CRM 7.x. Doch irgendwann wird dieses CRM von der neuen Lösung C/HANA abgelöst werden und dann ist auch das weg. So viel zur Unsterblichkeit. Ok, zurück zum Profanen und dem eigentlichen Inhalt.

Ich programmiere sehr gerne und das seit meinem 13ten Lebensjahr. Seitdem habe ich gefühlt Millionen von Zeilen programmiert. Das meiste davon dürfte mit der Software und/oder dem Unternehmen verloren gegangen sein oder veraltet und damit auch absehbar verloren. Wie viel von all dem übrig bleibt weiß ich nicht. Ich weiß nicht einmal, wie viel dieses »Wie viel« aus meinem vorherigen Satz ist.

In meiner gesamten Zeit des Programmierens, angefangen mit Babyschritten auf dem C64er und dann später als externer SAP Berater, habe ich mich jedoch nie gefragt, wie viele Zeilen Code ich programmiert habe. Erst ein Blogeintrag auf »fortlaufend« von André Spiegel brachte mich auf die Idee. Darin erwähnte er, 300 Zeilen Code geschrieben zu haben, was für ihn so viel wie nie zuvor war (leider finde ich den Artikel nicht mehr).

Dreihundert?, dachte ich. Das ist doch etwas, was ich täglich locker programmiere, wann immer mir außerhalb der Meetings und meiner Teilprojektleitung noch Zeit übrigblieb. Zumindest könnte ich die Anzahl meiner Programmierzeilen für mein aktuelles und fast abgeschlossenes Teilprojekt ermitteln.

Also kramte ich mein uraltes ABAP-Programm von irgendeiner meiner externen Backup-Platten hervor, dass verschiedene Metriken von Entwicklungspaketen in einem SAP System berechnet, u.a. die Anzahl der Programmierzeilen.

Dieses Programm benutzte ich in einem Projekt, wo der Kunde wegen Produktqualität eskalierte. Ich zählte die Zeilen unserer mehrjährigen Entwicklung und stellte die Anzahl der Fehler, die sie als Qualitätsmerkmal bemängelten gegenüber den Gesamtzeilen. Die Überraschung war sehr groß. Nicht nur, dass ich der erste war, der den Umfang unserer Arbeit damit dokumentierte, sondern auch der prozentuale Anteil an den kritisierten bzw. bewerteten Fehlern erschien mit einem Mal lächerlich klein. Ich erinnere mich dunkel an eine Zahl von über einer Million Programmierzeilen und ca. 10 angeblichen Fehlern, wo lediglich über zehn davon kritisch waren. Das Projekt ging mehrere Jahre mit Duzenden Entwicklern.

Also ließ ich heute Morgen mein Zähl-Programm für mein aktuelles Entwicklungspaket – einer Arbeit über knapp drei Monate, wo ich vielleicht 50% meiner Zeit im Schnitt dran war (dazu gehörten auch Absprachen, Tests etc.) – laufen und wartete gespannt auf das Ergebnis. Als Teilprojektleiter habe ich etwas anderes zu tun, aber wie es so ist, nebenbei kann man etwas »Kleines« immer umsetzen. Das ist der Vorteil, wenn man mehr kann, als man sollte. Man wird mit Zusatzarbeiten beschenkt. Geht ganz schnell, hieß es, wenn ich es mache. Was stimmt, nur der Umfang und die Umstände wurden unterschätzt, leider auch von mir.

Nach nur wenigen Minuten hatte ich mein Ergebnis. Eben habe ich mir die Zahlen wieder angeschaut und wieder bin ich überrascht. Die Anzahl der Zeilen in meinem Code geht etwas über 8.400 – weniger als erwartet.

Das klingt dennoch nach sehr viel, schlüsselt sich trotzdem weiter auf und reduziert diese Zahl weiter. Denn nicht jede Zeile ist eine Programmierzeile. Es gibt bei mir viele Anmerkungen und natürlich Leerzeilen. Also von meinen 8.400 Zeilen sind knapp:

  • 4.900 Zeilen tatsächliche Code-Anweisungen (58%)
  • 1.400 Zeilen mit Anmerkungen (17%)
  • 2.100 Leerzeilen (25%)

Damit sind ca. 42% meines Codes kein Code. Und ich hielt mich für ein Mega-Programmierer. Aber vielleicht ist es immer so, wenn man das erste Mal Zahlen sieht. Ohne Vergleich zu vorher oder anderen sagt diese Zahl nichts über die Komplexität, Schwierigkeit oder auch Kreativität der Leistung aus.

Was ich jedoch aus diesen Zahlen schließen kann, ist, für mich deuten sie eine gute Codequalität an. Anmerkungen machen jeden Code verständlicher. Leerzeilen strukturieren den Code, was wiederum zum besseren Verständnis beiträgt.

Vielleicht komme ich an paar Tagen, an denen ich durchprogrammieren kann, auf 300 Zeilen. So oder so, für ABAP-Verhältnisse finde ich schon 200 Zeilen sehr viel. ABAP in einem SAP System zu programmieren nenne ich fragmentiertes Programmieren, weil man nur kleine Stücke schreibt, die wie Ziegelsteine in eine vorgegebene Wand eines fast fertigen Hauses eingesetzt werden.

Wie auch immer, ich komme nicht annähernd nicht auf die Millionen von Zeilen Code, die ich gefühlt glaubte, programmiert zu haben. Vielleicht sind es eine halbe Million reiner Code. Keine Ahnung. Es wird auch weniger, da ich mehr konzeptioneller arbeite und auch andere Aufgaben habe.

Nur am Rande: Die Programmierung von Facebook umfasst an die 62 Millionen Zeilen Code. Tja, ich bin halt nur ein Berater mit Entwicklerskills;-)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.