Clean Code: Statische Code Analyse mit SonarQube

Sven, Software-Entwickler bei Valiton schwört auf SonarQube

Das Coding-Team von Valiton hat sich für 2018 ein großes Ziel auf die Fahne geschrieben: Die Kolleginnen und Kollegen wollen nur noch Clean Codes produzieren. Jeder IT-Nerd weiß, wie schwierig das ist.

„Clean Code ist wie ein gutes Buch: gut strukturiert, einfach zu lesen und schlüssige Handlung“, erklärt Sven, Leiter des Application Management bei Valiton. „Jeder Autor strebt danach, mit seinem Buch etwas Schönes und Perfektes entstehen zu lassen. Uns Software-Entwicklern geht es nicht anders, wenn wir Codes erschaffen.“

Um dies zu unterstützen setzt Valiton eine Lösung names „SonarQube“ ein. Diese OpenSource Software scannt den Quellcode. Anhand verschiedener Metriken wird der Code bewertet z.B. nach Code Qualität oder Code Komplexität. Auf einem Dashboard werden Bugs, Vulnerabilities, Testabdeckung, redundanter Code und unsauberer Code visualisiert.

SonarQube Projektübersicht

Beanstandungen werden mit den betroffenen Code-Zeilen ausgewiesen und können nachbewertet werden. Weiterhin zeigt SonarQube an, wie lange es dauert, die Beanstandung zu beseitigen: Korrekturen am Code Style sind schnell behoben, komplexer Code mit starken Abhängigkeiten hingegen ist deutlich aufwendiger zu beseitigen. Je früher dieser erkannt wird – desto leichter lässt sich dieser beheben. Dabei hilft SonarQube ungemein.

Code-Details mit Bewertungen

Dazu wird bei jeder Codeänderung, im Versionierungssystem git, über die Continuous Integration Pipeline der Sonar Scan ausgeführt und die Ergebnisse an das Entwicklungsteam, über Slack oder Großbildfernseher, gemeldet.

SonarQube soll fester Bestandteil des Software Development Life Cycle sein

Sven ruft dazu auf, SonarQube als fester Bestandteil im Software Development Life Cycle (SDLC) zu integrieren und ist sich sicher: Mit SonarQube kann kontinuierlich effizienter, zuverlässigerer, wiederverwendbarerer, wartbarer und lesbarer Code auch in verteilten Teams geschrieben werden.