4.1. DRY - Don't Repeat Yourself
Doppelter Code ist eine häufige Fehlerquelle. Wenn Funktionalitäten mehrfach im Code implementiert werden, besteht die Gefahr, dass bei einer notwendigen Änderung nicht alle Stellen angepasst werden – was zu inkonsistentem Verhalten führen kann.
Außerdem wird der Code dadurch unnötig aufgebläht und schwerer lesbar.
Im einfachsten Fall weist die Entwicklungsumgebung auf doppelten Code hin. IntelliJ markiert beispielsweise den Anfang eines Blocks und zeigt an, dass die nächsten x Zeilen an anderer Stelle identisch sind.
Darüber hinaus hilft ein geschärfter Blick beim Lesen des Codes. Wer aufmerksam bleibt und aktiv nach Wiederholungen sucht, wird viele Stellen entdecken, an denen sich Funktionalitäten doppeln.
Die Beseitigung von Duplikaten ist oft unkompliziert: Häufig genügt es, den wiederholten Code in eine separate Methode auszulagern und diese aufzurufen.
Je nach Komplexität kann es aber erforderlich sein, weitergehende Maßnahmen zu ergreifen:
- Einsatz komplexerer Parameter (z. B.
Function
,BiFunction
oder eigene Interfaces) - Nutzung von Vererbung und Aufbau einer Klassenhierarchie
- Einsatz von Generics, um unterschiedliche Typen zu unterstützen