Das DRY-Prinzip (Wiederholen Sie sich nicht) besagt, dass "jedes Wissen eine einzige, eindeutige, maßgebliche Darstellung innerhalb eines Systems haben muss". Meistens bezieht sich dies auf Code, wird aber häufig auch auf die Dokumentation ausgedehnt.
Es wird gesagt, dass jedes Softwaresystem eine Architektur hat, ob Sie es gewählt haben oder nicht. Mit anderen Worten, die von Ihnen erstellte Software hat eine Struktur und diese "wie erstellt" -Struktur ist die Architektur der Software. Ist das Erstellen einer Architekturbeschreibung dieses Systems eine Verletzung des DRY-Prinzips, da ein erstelltes Softwaresystem mit einer Architektur geliefert wird? Wenn Sie die Architektur kennen müssen, können Sie sich immer nur den Code ansehen ...
agile
documentation
architecture
dry
Michael
quelle
quelle
Antworten:
Verstößt das Duplizieren Ihrer Gedanken in Code gegen das DRY-Prinzip?
Meine Güte, wenn Sie die Architektur nur anhand von Code kennen könnten, gäbe es überhaupt keine "Architekturbeschreibungsdokumente". Es ist keine Wiederholung, es ist eine andere Ebene der Systembeschreibung , die nicht trivial aus dem Code abgeleitet werden kann und umgekehrt. Es hat also sein volles Existenzrecht, selbst wenn Sie DRY annehmen.
quelle
Nehmen Sie DRY nicht als feste Regel. Es ist eine gute Sache, aber Sie können es in der Praxis nur annähern.
Ich denke auch, dass es nicht gut geschrieben ist. "Wiederhole dich nicht" scheint nicht den ebenso wichtigen Fall abzudecken, dass du, um eine semantische oder funktionale Änderung vorzunehmen, den Quelltext an mehreren Stellen bearbeiten und verschiedene, aber koordinierte Dinge sagen müsste.
Anstatt es als Gebot zu betrachten, nicht verletzt zu werden, ist es besser zu verstehen, warum es eine gute Idee ist, und vernünftige Entscheidungen darüber zu treffen. Der Grund, warum es schlecht ist, an mehreren Stellen koordinierte Änderungen vornehmen zu müssen, ist, dass Sie als Editor Fehler machen. Sie sind nicht 100% zuverlässig, um die Änderungen fehlerfrei vorzunehmen. Wenn Sie 10 verschiedene Quelltextänderungen vornehmen müssen und nur 9 davon richtig sind, haben Sie einen Fehler hinzugefügt . Aus diesem Grund ist es eine gute Sache, den Quelltext so anzuordnen, dass die Anzahl der koordinierten Änderungen minimiert wird. Es minimiert Fehler.
Wir gehören keiner Religion an, in der DRY eines der Gebote ist. Es ist nur eine praktische, wenn auch leicht irreführende Möglichkeit, den gesunden Menschenverstand zusammenzufassen.
quelle
Eine Architekturbeschreibung oder Software-Designbeschreibung verstößt gegen DRY. In einer großen Organisation, in der Projekte in den letzten Jahren durchgeführt wurden, kommen und gehen Entwickler, und das System ist zu groß, als dass eine Person alle Details im Kopf behalten könnte. Es ist ein kritisches Dokument. Die Menge an "Wiederholungen", die erforderlich sind, um die Synchronisierung aufrechtzuerhalten, lohnt sich für den Aufwand, der beim nächsten Update oder bei der nächsten Wartung eingespart wird.
quelle
Eine Architekturbeschreibung verstößt nicht gegen das DRY-Prinzip.
Ihr Softwaresystem verfügt natürlich über eine Architektur. Und es ist über viele Dateien verteilt, in vielen Klassen, mit vielen überflüssigen und Details, die für eine Übersicht nicht erforderlich sind.
Ihr Architekturdokument sollte wie der erste Absatz eines Nachrichtenberichts sein: Es ist eine Gliederung, eine Zusammenfassung, eine Roadmap des Projekts.
quelle
Wenn Sie das Dokument datieren, beschreibt es die Architektur zum Zeitpunkt des Schreibens.
Während der Code die Architektur im gegenwärtigen Moment darstellt.
Zwei getrennte Dinge - nicht dasselbe Wissen.
Solange Sie angeben, dass das Dokument die Architektur zum Zeitpunkt des Schreibens darstellt, duplizieren Sie das IMO-Wissen nicht, da es sich um ein anderes Wissen handelt, wenn es sich zu einem anderen Zeitpunkt um das System handelt.
quelle