Kontrollstrukturen in der Integration

Die beiden wesentlichen Prinzipien für Clean Code Development sind für uns das IOSP und das PoMO. Nach dem Integration Operation Segregation Principle (IOSP) sollen Funktionen (oder allgemeiner: Module) ihre Grundverantwortlichkeit entweder auf die Herstellung von Verhalten durch Logik konzentrieren (Operation) oder selbst keine Logik enthalten, sondern nur andere Module zu einer größeren Einheit integrieren. Das […]

Struktur folgt Kräften

Strukturen sind, wie sie sind, weil das ihrem Zweck am besten dient. Das gilt für Gebäude, Brücken, Fahrzeuge, Organisationen, Organismen. In der Natur entstehen Strukturen des Lebendigen in einem blinden, evolutionären Prozess. Was überlebt, hat eine genügend gute Struktur. Bei menschengemachten Strukturen sind Strukturen so gut, wie es nach Stand der Erkenntnisse möglich ist. Wie […]

A Different Perspective on a TDD Lesson – Terrain Generation, Part III: Implementation

Implementation follows design. Finally I can sling some code ;-) But where to start? Analysis and design left me with some options. There is not just an Interpolate() method like Robert C. Martin had, but several classes and methods. On the surface of the system under development there are: TerrainGenerator.Interpolate() Terrain.Size Terrain.this[] Terrain.ToArray() And below […]

Was Führungskräfte lesen (2017)

Der Jahresanfang ist ein guter Moment für die Orientierung. In welcher Richtung liegt doch gleich Ihr Ziel? Was wollten Sie erreichen? Haben Sie sich überhaupt etwas vorgenommen? Wenn Sie für 2017 Clean Code Development auf den Zettel schreiben, freuen wir uns natürlich besonders. Aber auch wenn nicht, wünschen wir viel Erfolg! Und wir können sehr […]

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 […]

Frühjahrsputz 2016 – Gemeinsam ran an den Schmutz

Der Frühjahrsputz für Wohnung und Körper (Fasten) ist Tradition. Warum nicht diese schöne Tradition auch auf Ihre Codebasis ausdehnen? Dort gibt es sicher auch einige Ecken, die mal entrümpelt werden könnten, oder? Wenn Sie jetzt denken „Ja, müsste ich mal machen…“, sich aber nicht aufraffen können, dann verstehen wir das allerdings sehr gut. Aufräumen macht […]

Lernstoff in den Alltag überführen

Wie schaffen Sie es eigentlich, Clean Code Development Praktiken (und damit auch Prinzipien) in Ihren Alltag zu einzubauen? Diese Frage tauchte anlässlich einer Vorstellungsrunde in einem TDD 2.0 Training auf. Ein Teilnehmer sprach nämlich ausdrücklich davon, das sei sein Vorsatz. Über solchen Vorsatz habe ich mich natürlich sehr gefreut. Doch auf die Frage, wie hoch […]