Im Blog von JetBrains hat Trisha Gee schon eine ganze Artikelserie zum Thema „Code Smells“ veröffentlicht, die mit diesem Beitrag beginnt: Code Smells: Null. „Riechender Code“ (oder besser stinkender Code) deutet darauf hin, dass ein Refactoring angesagt ist. Der Begriff wurde durch Kent Beck im Buch Refactoring* von Martin Fowler (das meiner Meinung nach jeder Softwareentwickler gelesen haben sollte) eingeführt. Immer wenn seine Oma bei Babys etwas roch, war es Zeit, die Windeln zu wechseln. Und das übertrug er dann auf Code: Immer wenn Code seltsam aussieht (riechen kann man ihn ja schlecht), sollte man darüber nachdenken, wie man ihn optimieren könnte.
Die „klassischen“ Code Smells sind z.B. doppelter Code oder lange Methoden. Trisha Gee behandelt in ihrer Artikelreihe allerdings Dinge, die für viele Entwickler alltäglich sein dürften: null
, if
-Statements, Iterationen. Sie zeigt an umfangreichen Beispielen, warum der Code optimiert werden könnte und auch wie man dies tun kann. Dabei wird ab und an etwas Werbung für die Java-IDE IntelliJ eingestreut, die viele Refactorings automatisiert durchführen kann, aber auch für Entwickler, die nicht die JetBrains-IDE nutzen, sind viele wertvolle Ideen dabei.
Welche Code Smells begegnen dir in der Praxis häufig? Und welche hinterlässt du vielleicht sogar für deine Kollegen?