Schluss mit Frust: Clean Code hilft bei der Softwarequalität

Seite 4: Unit-Tests

Inhaltsverzeichnis

Um das Risiko ungewollter Verhaltensänderungen der Anwendung beim Refactoring komplexer Softwareprojekte zu minimieren, sind automatisierte Unit-Tests unerlässlich. Eine hohe Testabdeckung schützt vor ungewollten Nebeneffekten – auch bereits ohne den Einsatz eines komplexen Test-Frameworks oder der Methoden des Test-Driven Development (TDD).

Hilfreich sind bereits simple Unit-Tests, die nach dem Graybox-Prinzip Anforderungen und Bugfixes testen. Sie stellen sicher, dass implementierte Anforderungen und Fehlerbehebungen auch bei Änderungen weiterhin funktionieren. Auf diese Weise gewährleistet das Entwicklungsteam eine hohe Testabdeckung, da die Tests wesentlich mehr Codezeilen ausführen und prüfen müssen. Das Vorgehen verspricht in den meisten Fällen außerdem mehr Erfolg als das Testen einzelner Klassen und Methoden. Um noch umfassendere Testabdeckung und damit höhere Qualität sicherzustellen, empfiehlt es sich, zusätzliche Komponententests im weiteren Projektverlauf zu implementieren. Bei Unit-Tests gilt der allgemeine Grundsatz: Schon ein Prozent Testabdeckung ist besser als keines. Idealziel ist aber eine Testabdeckung von mindestens 80 Prozent im Projekt.

Bücher werden vor einer Veröffentlichung mehrfach gelesen und überarbeitet. Das gleiche Prinzip sollte auch für das Programmieren von Software gelten. Das Ziel von Clean Code ist es, eine saubere und lesbare Codebasis für das Projekt-Team zu hinterlassen. Wer mit Clean Code startet, ist sich besonders am Anfang nicht sicher, ob auch wirklich sauberer Quelltext entsteht. Gegen diese anfängliche Unsicherheit hilft die Code-Review eines anderen Entwicklers. Egal, ob Pair Programming, Pull Requests oder Screensharing, sauberer Code entsteht, wenn sich mehrere Entwickler und Entwicklerinnen zum Quelltext austauschen und sich gegenseitig helfen, den Code verständlicher zu machen.

Clean Code sichert den langfristigen Erfolg einer Anwendung. Zwar fällt die Investition eingangs höher aus, wenn die Softwarequalität im Projektalltag bisher nicht im Fokus stand, jedoch zahlt sich das Umsetzen von Clean Code meistens schnell aus. Technischen Schulden lässt sich damit effektiv entgegenwirken. Sie wachsen dann nicht mehr so stark an, dass sie einen wirtschaftlichen Totalschaden des Projekts verursachen könnten.

Ein weiterer Punkt, der für das Implementieren von Clean Code spricht, ist, dass im Team sowie beim direkten Arbeiten im Quellcode weniger Reibungspunkte entstehen. Das fördert die Motivation und reduziert unnötigen Frust unter Entwicklern wie auch Projektleitern. Mit einer realistischen Aufwandsschätzung, dem gezielten Einsatz von Tools, automatisierten Unit-Tests sowie Code-Reviews und der nötigen Weiterbildung im Bereich Clean Code können Entwicklerinnen und Entwickler die Qualität und Wartbarkeit jeder Software Schritt für Schritt erhöhen – bis ihre Küche endlich sauber und aufgeräumt ist.

Arkadius Roczniewski
(aka Arek) ist seit 15 Jahren Softwareentwickler und begeistert von Clean Code. Auf LerneProgrammieren.de bringt er Anfängern und Fortgeschrittenen das Programmieren bei.

(mdo)