Die unsichtbare Verantwortung
Täglich arbeiten wir mit Code von Drittanbietern. Was hat das mit Clean Code zu tun, wenn der Code nicht von uns stammt? Überraschenderweise sehr viel. Es geht nicht darum, wie der externe Code selbst geschrieben ist, sondern wie wir dessen Verwendung nach Clean-Code-Prinzipien gestalten. Selbstverständlich können wir auf Drittanbieter-Bibliotheken nicht verzichten – ohne sie wäre moderne Softwareentwicklung kaum möglich.
Strategien für saubere Integration
Hier sind die wichtigsten Ansätze für den sauberen Umgang mit externem Code:
Tests zur Validierung von Annahmen
Komplexität kapseln und verstecken
Adapter Design Pattern nutzen
Klare Boundaries definieren
Und weitere Praktiken...
Von der experimentellen Nutzung zu stabilen Tests
Wenn wir eine neue Bibliothek erkunden, schreiben wir oft eine temporäre Main-Methode mit Konsolenausgaben, um das Verhalten zu verstehen. Diese Experimente werden häufig als PoC (Proof of Concept) bezeichnet und später gelöscht.
Doch warum diesen wertvollen Code wegwerfen? Stattdessen könnten wir automatisierte Tests schreiben. Mit einem Test-Runner haben wir eine perfekte Umgebung, um Code auszuführen und unsere Annahmen zu überprüfen. So stellen wir sicher, dass der Drittanbieter-Code wie erwartet funktioniert. Ein weiterer entscheidender Vorteil: Bei Version-Upgrades können wir diese Tests erneut ausführen und prüfen, ob unsere Annahmen weiterhin gültig sind. Selbst einfache Tests mit Konsolenausgaben sind wertvoller als gelöschter Code.
Komplexität hinter fachlichen Abstraktionen verbergen
Ein klassisches Beispiel für das Verstecken von Komplexität ist die Verwendung von HashMap. Diese leistungsfähige Datenstruktur wird oft unterschätzt und in Sprachen wie Go häufig direkt für Geschäftslogik eingesetzt. Man kann die technische API einer HashMap direkt im Code verwenden: