code it

Martins Tech Blog

Eindrücke vom dotnetpro powerday zum Thema CCD

Ein professioneller Softwareentwickler - was kennzeichnet ihn eigentlich? Mit dieser Frage starten Ralf Westphal und Stefan Lieser, wenn sie erklären, worum es bei der Clean-Code-Developer-Initiative eigentlich geht. Und genau so beginnt auch die Keynote des dotnetpro powerdays zum Thema CCD, der am 09.03.2010 in München stattfand. Die Antworten aus dem Publikum sind sehr vielseitig: "Man hat Erfahrung.", "Man schreibt wiederverwendbaren Code", "Jemand ist bereit, einem Geld für die Leistung zu geben", "Man schreibt Code, den andere verstehen" hört man Wortmeldungen aus allen Richtungen. Aber sind das wirklich die Kriterien? "Wiederverwendbarkeit? - Ich möchte keinen Klempner, der Dinge wieder verwendet, weil das professionell ist", meint Ralf und macht damit klar: Nicht das sind die Kriterien für Professionalität, sondern eine Mischung aus Bewusstheit und Prinzipien. Mit viel Witz und mehren verschenkten Mausmatten als Belohnung für interessante Antworten führen die beiden durch die Keynote und bringen so jedem das Thema näher.

Klar ist, die beiden wissen was sie rüberbringen wollen und vertreten da auch ihre Meinung recht konsequent. Selbst langjährige und erfahrene Entwickler betrachten Probleme mal aus einem anderen Blickwinkel, wenn Aussagen wie "Wozu brauche ich einen Debugger – meine Tests zeigen mir doch, wo der Fehler ist", "Zum Erstellen einer Softwarearchitektur braucht man keine Tools – nur ein Flipchart" im Raum stehen - und wenn uns jemand nach einer Software-Architektur für ein Warenwirtschaftssystem gefragt hat, haben wir dann nicht alle mit einem einzigen "großen Kreis mit Bubbel in der Mitte" auf dem Flipchartpapier geantwortet? "Wie vermeide ich Abhängigkeiten?", war die Frage, die einen Abstecher in Richtung Event Based Programming mit den Hauptakteuren "Paula Portal", "Anton Adapter", "Frieda Filter" und "Zacharias Zähler" bescherte, die gemeinsam die Codezeilen einer Datei zählten, während "König Kunde" sich einen neuen Kaffee holte.

Der Nachmittag bestand dan darin, eine "Brownfield-Anwendung" mit Gummistiefeln zu betreten und im Sinne von CCD sauber zu machen. Leider musste ich nach der Ermittlung der guten und schlechten Eigenschaften der Anwendung die Veranstaltung verlassen, weil sonst mein Flieger ohne mich gestartet wäre, aber ich denke das anschließende Refactoring der Anwendung war auch noch sehr interessant.

Ja, ich mag die Art von Stefan und Ralf, wie sie solche Veranstaltungen durchführen - mal ganz unabhängig davon, ob es eine kostenpflichtige Veranstaltung wie der CCD-Powerday oder eine kostenfreie wie Usergroup-Treffen oder OpenSpaces sind. Durch diese Art wird man abseits vom täglichen Geschäft mal dazu animiert, neue Wege einzuschlagen oder anders an ein Thema heranzugehen. Und unabhängig davon, ob man CCD unterstützt oder nicht - die Notwendigkeit professionell zu arbeiten gibt es durchaus und die sollte auch immer im Hinterkopf sein. Und die Initative hin zur Professionalität unterstütze ich aus vollster Überzeugung.

Jetzt noch sauberer!

Die Kombination aus professionellem Softwareentwickler und sauberem Code solle eigentlich eine Selbstverständlichkeit sein. Doch nicht immer trifft man im Alltag diese Kombination auch an. Das kann vielerlei Ursachen haben - sei es weil "saubereres Programmieren" (wie auch immer definiert) während der Ausbildung nicht beigebracht wurde, aus Unachtsamkeit oder weil es im Alltagsstress einfach untergegangen ist. Möchte man langfristig erfolgreich sein, ist es jedoch wichtig, wartbaren und lesbaren Code zu produzieren und sich einen gewissen Qualitätsstandard in der Arbeit anzueignen.

Mit Clean Code Developer haben Ralf Westphal und Stefan Lieser eine Initiative ins Leben gerufen, die sich genau mit diesem Thema auseinandersetzt. Durch ein Wertesystem mit gewissen Regeln, Praktiken und Prinzipien soll Softwareentwicklung professioneller und vertrauenswürdiger werden. In aufeinanderfolgenden farblich gekennzeichneten Graden wird versucht, eben diese Prinzipien zu beherzigen und zu vertiefen.

Und ja, auch ich mach mit bei CCD, denn es ist meiner Meinung nach ein sehr guter Ansatz.

Damit die CCD-Regeln und Prizipien des aktuellen Grades in der täglichen Arbeit nicht untergehen, gibt es von Alexander Zeitler ein Add-In für Visual Studio.