Schluss mit defensiver Programmierung

Ein Muster von Trainingsteilnehmern, das ich häufig sehe, wenn wir die Resultate von Übungsaufgaben anschauen, ist das defensive Programmieren. Hier ein Beispiel: Die Übungsaufgabe war die Function Kata fromRoman; es galt also, römische Zahlen in Dezimalzahlen zu konvertieren. Die zu schreibende Funktion lautete int fromRoman(string roman). In einer ersten Iteration sollten nur einziffrige römische Zahlen […]

Software in Gerüsten bauen

Softwareentwickler machen keinen Dreck. Softwareentwickler tun auch nichts Überflüssiges. So scheint mir jedenfalls der Anspruch. Die Realität sieht am Ende natürlich ganz anders aus: der Dreck ist im Code überall, es stinkt mächtig (code smells). Und vom Überflüssigen ganz zu schweigen. Wenn premature optimization laut Donald Knuth „the root of all evil“ ist, dann findet […]