Dead Code

Wissen kompakt: Dead Code bezeichnet Codezeilen, die nicht ausgeführt werden oder deren Ergebnisse nach der Ausführung keine weitere Verwendung finden.

Dead Code – Codezeilen, die nicht ausgeführt werden

Der Begriff Dead Code bezeichnet in der Softwareentwicklung Codezeilen, die nicht ausgeführt werden oder deren Ergebnisse nach der Ausführung keine weitere Verwendung finden. Codezeilen werden nicht ausgeführt, da sie

  • nicht mehr benötigt werden,
  • nicht aufgerufen werden,
  • nicht aufgerufen werden können.

Die deutsche Übersetzung des Begriffs lautet: “toter Code”; sie ist aber nicht gebräuchlich.

Formen von Dead Code

In manchen Publikationen wird zwischen verschiedenen Formen nicht ausgeführter Codezeilen unterschieden:

  • Dead Code liegt vor, wenn bspw. bei einer Funktion das Ergebnis nie verwendet wird.
  • Redundanter Code liegt vor, wenn mehrere Codezeilen dasselbe tun. Sind Codezeilen unbeabsichtigt redundant, sollte die Redundanz aufgehoben werden. Ist die Redundanz aber beabsichtigt, bspw. beim temporären Konservieren von Codezeilen, kann sie – zumindest vorübergehend – bestehen bleiben.
  • Unerreichbarer Code liegt vor, wenn Codezeilen nicht aufgerufen werden können, bspw. weil eine Bedingung einer anderen Zeile, die immer eintritt, dies verhindert.
  • Unnötiger Code liegt vor, wenn bspw. eine Abfrage so formuliert wird, dass das Ergebnis immer wahr ist. Die Abfrage ergibt somit keinen Sinn.

Gründe für Dead Code

Dead Code kann aus unterschiedlichen Gründen entstehen:

  • Möglicherweise hat ein Entwickler vergessen, überflüssige Codezeilen zu löschen.
  • Oder der Entwickler hat sich gegen das Löschen entschieden, weil der Code mit funktionalem Code vermischt ist.
  • der der Code wird absichtlich nicht entfernt, so dass er zu einem späteren Zeitpunkt wieder aktiviert werden kann.
  • Oder ein Programmierfehler wurde übersehen etc.

An sich beeinträchtigt nicht verwendeter Code die Ausführung von Programmteilen nicht. Da viele Entwicklungen in der Praxis mit “lebendigem”, aber fehlerhaften, funktional unzureichendem oder nicht performanten Code zu kämpfen haben, erfährt Dead Code oftmals nur eine niedrige Priorität. Dennoch sollte er aus verschiedenen Gründen vermieden werden:

  • er bietet keinen Nutzen, verursacht aber möglicherweise Aufwände und Kosten, wenn er bspw. im Zuge von Weiterentwicklungen mit angepasst wird.
  • er erschwert die Wartung und Pflege, wenn er nicht zweifelsfrei als toter, redundanter, unerreichbarer oder unnötiger Code zu erkennen ist. Abhilfe könnte ein Refactoring schaffen.
  • er erhöht den Speicherbedarf.
  • er hat Auswirkungen auf die Codeüberdeckung, da er entweder – unnötigerweise – getestet wird oder für eine schlechte Überdeckung sorgt, da er nicht getestet wird.

Grundsätzlich empfiehlt es sich also, entsprechende Codezeilen frühzeitig zu identifizieren und zu eliminieren. Der entsprechende Begriff lautet: Dead Code Elimination.

Dead Code - Codezeilen, die nicht ausgeführt werden

Was macht t2informatik?

Was macht t2informatik? Kleiner Tipp: Es hat etwas mit Softwareentwicklung zu tun!

Hinweise:

Haben Sie Lust auf einen neuen Lieblings-Newsletter?

Die Inhalte auf dieser Seite dürfen Sie gerne teilen oder verlinken.

Hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt:

Wissen kompakt: Was ist Clean Code?

Was ist Clean Code?

Wissen kompakt: Was ist Schatten-IT?

Was ist Schatten-IT?