Nach „Wir müssen diesen Code unbedingt neu schreiben“ kommt „Wir lassen den alten Code erst einmal liegen, bis wir alle Stellen auf die Neuentwicklung umgestellt haben“. Nach einiger Zeit sind dann alle Code-Stellen auf die Neuentwicklung umgestellt, sodass der alte Code nicht mehr ausgeführt wird. Zur „Sicherheit“ wird dieser jedoch noch nicht gelöscht. Vielleicht als Fallback, weil es einfach vergessen wurde oder weil niemand den Mut hatte, den Code einfach zu löschen.

3 Gründe, warum toter Code stört

  1. Toter Code bläht das Repository unnötig auf.
  2. Toter Code lenkt ab. Er wird durch die IDE indiziert und die Entwickler landen immer mal wieder z.B. durch die Suchfunktion in dem toten Code. Neue Entwickler und Entwickler, die nicht an der Neuentwicklung beteiligt waren, erkennen ggf. nicht, dass es sich um Code handelt, der gar nicht mehr verwendet wird.
  3. Toter Code wird trotzdem refactored. Systemweite, durch die IDE unterstützte Refactoring-Maßnahmen werden ohne Rücksicht auf toten Code durchgeführt. Code-Smells werden dadurch abgebaut – Leider aber auch für den toten Code. Das kostet Zeit und somit auch Geld.

Einfach löschen

Inzwischen sollte jeder ein Versionskontrollsystem wie z.B. Git für die Verwaltung des Quellcodes einsetzen. Code, der gelöscht wird, ist somit nicht verloren und kann bei Bedarf jederzeit wiederhergestellt werden. Um die o.a. Gründe gegen toten Code zu vermeiden, sollte toter Code also identifiziert und einfach gelöscht werden. Das trägt zur Verbesserung der Übersichtlichkeit im Repository bei. Es ist befreiend, wenn die Arbeit für alle Entwickler durch solche einfachen Dinge vereinfacht werden kann.

Also: Einfach mal den toten Code löschen. Es müssen ja nicht gleich ganze Packages sein. Man kann auch einfach mit dem Löschen nicht mehr verwendeter Variablen und privater Methoden beginnen. Bei diesen Themen ist der Scope zwecks Seiteneffekte auch sehr begrenzt und somit mit einem geringen Risiko verbunden.

Kategorien: Aktuelle Themen

0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert