zurück zur Übersicht

Code-Smell

‚Code-Smell‘ oder auch nur ‚Smell‘ ist ein Begriff aus der Software-Entwicklung. Er beschreibt ein Programmkonstrukt, das dringend eines Refactorings bedarf. Dennoch ist die Nutzung des Begriffs hinsichtlich des Codes subjektiv und variiert je nach Entwickler und Sprache.

Dabei liegt beim Code-Smell in der Regel kein falscher Quellcode vor. Er ist weder falsch noch beeinträchtigt er die Funktionsfähigkeit des Programms, kann aber auf mögliche Fehler hinweisen. Es handelt sich hierbei um eine Vermutung, einen Verdacht – so als hätte man einen „verdächtigen“ Geruch in der Nase. Der Code ist oftmals durch die lange Entwicklungs- bzw. Weiterentwicklungszeit überkonstruiert, veraltet, unstrukturiert und deshalb störanfällig. Dies kann bspw. zu Problemen in der Wartung, Übersichtlichkeit und Schnelligkeit führen.

Dafür gibt es vielfältige Gründe in der Software-Entwicklung. Einer davon ist, dass es für jede der Unterklassen in der Hierarchie eine Unterklasse in einer anderen Hierarchie gibt. Außerdem sind u. a. Datenklumpen, faule Klassen und unangebrachte Intimität Ursachen, die den Code-Smell hervorbringen.