Blog Liste

DRY Principle

Keep your project DRY

Heute berichte ich über ein weiteres, bewährtes Prinzip aus meinen Projekten, dem DRY (Don't Repeat Yourself) Prinzip.

Sicherlich ist dieses Prinzip den meisten Entwicklern bereits ein Begriff.
Meiner Erfahrung nach kann die Anwendung des Prinzips im Projekt Dir aber einen wirklichen Gewinn und eine größere Effizienz bringen.

Das DRY Prinzip wird meistens in Zusammenhang mit der Softwareentwicklung gebracht. Ursprünglich wurde das Prinzip im Buch "The Pragmatic Programmer" erwähnt. Dabei soll das Duplizieren von gleichen Codezeilen vermieden werden, da dies später zu einem höheren Wartungsaufwand und einer höheren Fehlerwahrscheinlichkeit führt. Allerdings kann das DRY Prinzip auch in vielen anderen Bereichen die Arbeit erheblich erleichtern.

Im Grunde soll man bei seiner Arbeit möglichst Redundanz vermeiden. Allgemein formuliert sollte eine Information sich immer nur an einem Ort befinden. 

Als ein sehr einfaches Beispiel können wir uns die Angabe einer Versionsnummer in einem Softwareprojekt betrachten. Statt sie N-mal im Code, in der Dokumentation oder in Konfigurationsdateien anzugeben, sollte sie möglichst zentral mit den Projektdateien abgespeichert werden, wie z.B. in einer zentralen Datei oder besser gleich über die Versionierungsverwaltung. An allen weiteren Stellen, an denen die Versionsnummer angegeben werden muss, wird diese entweder automatisiert eingesetzt oder nur referenziert.

Sicherlich ist dies nur ein sehr einfaches Beispiel, Ich erlebe es aber oft in Projekten, dass Informationen quer durch verschiedene Dateien verteilt sind und bei einem Release manuell angepasst werden müssen. Ein manueller Prozess ist immer fehleranfällig, oft ineffektiv und führt nicht selten zu inkonsistenten Dokumentations- und Softwareständen.

In Projekten ist es immer wichtig alle Dokumente in einem konsistenten Stand zu halten. Deshalb haben ich, in Zusammenarbeit mit dem Kunden, in einigen Projekten das Versenden von Dokumenten über E-Mail abgeschafft. Die bessere Lösung ist hier ganz klar einen zentralen und gemeinsam zugreifbaren Speicherort zu verwenden, wie z.B. Google Drive oder Microsoft OneDrive. Für das Weitergeben von Informationen werden dann nur die Links auf die entsprechenden Dateien verschickt. Dadurch wird sichergestellt, dass jeder Leser oder Bearbeiter immer einen aktuellen Stand besitzt.

Gerade in großen und komplexen Projekten, in denen ich involviert war, hat sich das DRY Prinzip immer wieder bewährt. Aufwände für das Ändern von verschiedenen Dokumenten blieben im erwartungsgemäßen Rahmen und konnten dadurch entsprechend effizient durchgeführt werden.

Zusammenfassung:

  • Schaffe keine Redundanz in Deinem Projekt. Speichere Informationen nach Möglichkeit nur einmal zentralen ab.

  • Versende keine Kopien von Dokumenten, sondern nur Links auf die jeweiligen Dokumente.