Clean Code
Kommentare

Wir können dieses Problem lösen, indem wir die Abhängigkeit umkehren („Dependency Inversion“): Jede Abhängigkeit einer Klasse von einer unterhalb angesiedelten Klasse wird durch eine Schnittstelle

Wir können dieses Problem lösen, indem wir die Abhängigkeit umkehren („Dependency Inversion“): Jede Abhängigkeit einer Klasse von einer unterhalb angesiedelten Klasse wird durch eine Schnittstelle ersetzt, die das erwartete Verhalten beschreibt. Die nächste Schicht implementiert Klassen, die diese Schnittstellen implementieren und somit loslösen. Diese Dependency Inversion wird manchmal auch als Hollywood-Prinzip (Kasten: Das Hollywood-Prinzip) bezeichnet. In Abbildung 2 ist die Inversion dieser Abhängigkeiten dargestellt. Interessant ist, dass damit auch der „Besitz“ der Schnittstelle von den Klienten der Schnittstelle zum Server, also in die nächst höhere Schicht wandert.

Das Hollywood-Prinzip

Vermutlich wurden Schauspieler von Filmagenten angewiesen, sie nicht anzurufen, sondern umgekehrt – sofern ein Bedarf besteht, von den Agenten angerufen zu werden: „Don’t call us, we call you.“

Abb. 2: Dependency Inversion
Fazit

Im ersten Schritt zum „Clean Coder“ geht es zunächst darum, die eigene Einstellung zu sauberem Code als „Handwerkskunst“ zu manifestieren. In weiterer Folge ist es auch wichtig, dass sich in Teams ein Regelwerk hierzu bildet. Die Einhaltung von Grundregeln für Bezeichner, Funktionen etc. führt zu bereits deutlich besserem Code. Arbeitet am Produktivcode und refaktorisiert diesen, sobald ihr Unit Tests hierfür habt und macht den bestehenden Code sauberer. Dazu dienen Code-Reviews in der Gruppe oder im Pair.

Dr. Andreas Wintersteiger ist Certified Scrum Coach und bei Objectbay in Österreich tätig, um Unternehmen bei der Einführung agiler Softwareentwicklung zu helfen. Er ist Informatiker mit über 20 Jahren Erfahrung und war selbst in kleinen Startups sowie internationalen Großkonzernen tätig. Wenn es seine Zeit zulässt, entwickelt er in Java und Ruby.

Dr. Christoph Mathis ist Certified Scrum Trainer und Certified Scrum Coach. Er ist geschäftsführender Gesellschafter bei der SrumCenter GmbH in München und hilft Teams und Firmen, die Herausforderungen bei der Umstellung auf Scrum und agile Softwareentwicklung effektiv zu meistern. Wenn er etwas Zeit übrig hat, entwickelt er in Java und Scala Webanwendungen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -