Handwerkskunst versus miese Realität

Letzte Woche habe ich auf der ACCU in Oxford eine Keynote gegeben, die in gewisser Weise das Gegenstück einer anderen Keynote von Bob Martin darstellte. Es geht um die Frage, wie man mit schlechter Code-Qualität umgeht.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Nicolai Josuttis

Letzte Woche war ich auf der ACCU, um eine Keynote zu einem Thema zu halten, das mich gerade sehr beschäftigt. Es geht um die Frage, ob es nicht an der Zeit ist, die Tatsache zu akzeptieren, dass Code immer in einem mehr oder weniger miesen Zustand ist. Das liegt unter anderem daran, dass heutzutage die Mehrheit der Personen, die an der Erstellung von Code beteiligt sind, nicht wissen, was sie tun (was aber nicht unbedingt ihre Schuld ist).

Dies alles ist eine natürliche Folge unserer Weltwirtschaftsordnung, die in allen Bereichen (und damit auch in der IT) einen unglaublichen Druck erzeugt, während gleichzeitig die Probleme und Systeme immer komplexer werden. Früher oder später sorgen die Controller deshalb schon dafür, dass die Qualität auf ein Mindestmaß reduziert wird. Und Mindestmaß bedeutet, dass es gerade noch so läuft beziehungsweise verkauft werden kann.

Bob Martins Vorschlag war nun, eine Bewegung zu initiieren, die Softwareentwicklung wieder in die Hände von Fachleuten legt, die auch NEIN sagen können, wenn die Qualität nicht stimmt. Meine Antwort darauf war, dass solche Nein-Sager vom Controlling im Zweifelsfall einfach rausgeschmissen werden: "And, if you still don't want to deploy a final release due to some obscure quality problem just because Uncle Bob told you so, you can immediately leave the company (and take Uncle Bob with you)."

Wir sollten besser die wenigen Experten, die wir heutzutage haben, sinnvoll einsetzen und ansonsten schlechten Code als normal akzeptieren. Dazu gehört zum Beispiel, dass der Code nicht nur "einfach", sondern auch "trivial" sein muss. Das kann zum Beispiel bedeuten, Copy&Paste zu preisen, anstatt immer wieder mit Refactorings aus vielen ähnlichen Stücken Code eine gemeinsame, aber durchaus komplexere Funktion zu schaffen.

Spätestens hier führte das Aufeinandertreffen von Bob Martins und meiner Keynote auf der ACCU natürlich zu heftigen Diskussionen, die auch im Web fortgeführt werden. So kann man auf Bob Martins Blog die Sichtweise von Bob dazu sehen, die dort auch schon mit etlichen Kommentaren versehen wurde. ()