Code-Review und Code-Kritik?

Wie schön war das noch zu Schulzeiten, als man sich zum Nachbarn rüberbeugte und frage:

Kannst du da nochmal drüberlesen?

Denn das Resultat war konkret und ehrlich. Von “interessiert mich nicht” bis hin zu echt guten Tips nach dem Schema “Ich würde das so und so anders machen” erhielt man schnell eine entsprechende Antwort.

Und wie sieht das im Beruf aus?


Sollte es so wirken, wir Marcel Reich-Ranicky im Literarischen Quartett ?

Eigentlich wäre das ja ein schmeichlerischer Gedanke, denn gerne würde ich als alter Mann hoch geschätzt und deshalb beliebt trotz harter Worte gerne von einem Code-Thron auf die armen Kindlein herabreden und ihnen mit belehrender Stimme klar machen, was gut und was schlecht an ihrem Werk ist.

… und leider würde das genau so arrogant ausstrahlen, wie ich es eben beschrieben habe.

Denn die Gewichtigkeit eines Herrn Reich-Ranicky in der Literatur kann nach heutigen Maßstäben gerade in der Software-Entwicklung niemand erreichen.

Obwohl viele Menschen vergessen, dass Quellcode rechtlich zur Literatur gezählt wird, ist es doch etwas anderes, wenn man sich in Anekdoten an die großen Geister der Weltliteratur erinnert, oder ob man die Änderungen an den Zeilen 23054 - 24860 als sinnvoll oder unpassend deklariert.


Mir jedoch fehlt heute in zunehmenden Maße der … naja, sagen wir mal: ästhetische Ansatz der Beurteilung von Quellcodes, so wie es in der Schule noch war.

In beruflichen Umfeld wird “Codereview” immer wieder als Anwenden von Regeln für Zeilenumbrüche und Aufteilung von Blöcken in unterschiedliche Funktionen betrachtet.

Sinnvoller wäre es aber meiner Meinung nach eher zu beanstanden, dass z.B. unkontrolliert zwischen C und C++ oder einer synchronen und asynchronen Kommunikationsart hin und hergewechselt wird.

Würden wir hier von Literatur sprechen, so würde es wohl jedem auffallen, wenn zwischen Perfekt, Imperfekt und Plusquamperfekt “unprofessionell” hin und hergeschwankt wird, doch gerade dort, wo unsere “Worte” in viele digitale Taten übersetzt werden, liegt das Augenmerk leider nur zu oft beim “Aussehen” der Noten, aber nicht beim Klang der Musik.


Deshalb freut es mich um so mehr, dass ich aktuell mal wieder an einem gegenseitigem Code-Review teilnehmen durfte, in welchem wir über die Inhalte sprechen konnten und hoffe, dass diese Art der Qualitätssicherung sich weiter fortsetzt.

Wenn ich da so an eine wichtige Komponente eines Zulieferers im letzten Job zurückdenke, wo wirklich gar nichts funktioniert hat, aber im Bericht geschrieben stand, dass “eh alles ‘reviewt’ wurde”, kommen mir leider Zweifel an den “üblichen” Vorgehensweisen in der Softwareentwicklung.

Gekrönt wird das dann durch “Quell-Kot”, in dem Variablen und Funktionen in deutscher Sprache benannt sind, genau so als würden wir jetzt in jedem Land ein anderes Alphabet einführen, nur weil es “einfacher” erscheint.

Ich bringe dann immer wieder gerne den alten Werbespruch von Microsoft aus den Anfängen der 2000er, wo es in etwa hieß:

Mit dotNet ist Programmieren jetzt so einfach, das kann jeder.

Worauf ich immer hinten das Wort “Dummkopf” anfüge und dann frustriert sage:

Und deshalb haben wir heute eine Vielzahl (von Dummköpfen), die glauben programmieren zu können.

Ich will es nicht grundsätzlich schlecht reden, aber die Quantität hat die Qualität massiv reduziert. Immer schneller und kürzer müssen die Arbeitszyklen werden und immer weniger wird das Augenmerk auf langfristig stabile Produkte gerichtet.

Gerne würde ich ja behaupten, dass das ein Java oder C# Problem sei, doch leider sieht es in der C++ Welt um kein bisschen besser aus.


Es mag nun anmaßend klingen, aber ich versuche es mal so auszudrücken, wie der große Literaturpapst es vielleicht hätte ausdrücken können.

Ja, das war eine sehr merkwürdig Zeit. Wenn man bedenkt, wie ein Stroustrup pointiert mit wenigen Vokabel einfach alles präzise ausdrücken konnte. Fabelhaft.
Doch dann kamen die “Direktoren” und versuchten ihre Absichten mit schnellen Schritten an ihr Ziel zu bringen. Es war schrecklich ihre eilig hingeworfenen “Werke” anzunehmen und mit bestehendem zu vergleichen oder zu vereinen.
Ja, man darf verkürzen, reduzieren und vereinfachen, aber viele Autoren heute tun das nur all zu oft und viel zu leichtfertig.

Hier noch ein Beispiel unseres leider verstorbenen Vorbildes:


Wenn sich eine triviale Erkenntnis mit Dummheit in der Interpretation paart, dann gibt es in der Regel Kollateralschäden in der Anwendung.
frei zitiert nach A. Van der Bellen
... also dann paaren wir mal eine komplexe Erkenntnis mit Klugheit in der Interpretation!