Ich habe heute ein Tool namens Dusk ausprobiert, das open sourced wurde, und ein Ergebnis hat mich ziemlich überrascht.
Die Hypophyse wurde gebaut, um zu erkennen, wenn sich die Dokumentation, Spezifikationen und der Code nicht mehr decken. Man richtet sie auf ein Repository, sie indexiert Spezifikationen und Entscheidungsprotokolle, und sie markiert Abweichungen, die etwas Widersprüchliches aufdecken, das bereits akzeptiert wurde. Ich habe sie gegen einen Test-Diff laufen lassen, der eindeutig eine bestehende Spezifikation kaputtgemacht hat.
Der Check ist nicht fehlgeschlagen. Ich dachte, das sei ein Bug.
War es nicht. Das Tool sucht nach einem Begründungs-Kommentar in der Nähe der Änderung – nach so etwas wie „WARUM“, „HACK“ oder einem ähnlichen Marker. Wenn jemand die Abweichung bereits als absichtlich annotiert hat, wird sie anders geroutet als ein reines, unbeabsichtigtes Abdriften.
Das ist die eigentliche Trennung. Ein Widerspruch und ein Verstoß sind hier nicht dasselbe. Die Spezifikation sagt das eine, der Code das andere – wird trotzdem geloggt statt fehlgeschlagen, wenn ein Mensch die Lücke bereits erklärt hat.
Spezifikation geschrieben und indexiert, Code weicht ab, der Diff läuft durch „check-doc-drift“, ein Widerspruch wird erkannt, das Tool sucht in der Nähe nach genau diesem Marker. Absichtliche Abweichungen gehen einen Pfad, nicht erklärte schlagen den Build fehl.
Aber niemand prüft, ob dieser Marker noch irgendetwas bedeutet. Nichts verhindert, dass jemand „WARUM“ nur hinschreibt, um die Warnung zu beruhigen, und nichts prüft, ob die ursprüngliche Begründung hinter einem alten Marker noch stimmt.
Was passiert mit dieser Konvention über Hunderte PRs pro Woche hinweg, sobald sie zwischen einer Regression und einem stillen Durchlauf steht? 👍
#dusk $DUSK @Dusk
Die Hypophyse wurde gebaut, um zu erkennen, wenn sich die Dokumentation, Spezifikationen und der Code nicht mehr decken. Man richtet sie auf ein Repository, sie indexiert Spezifikationen und Entscheidungsprotokolle, und sie markiert Abweichungen, die etwas Widersprüchliches aufdecken, das bereits akzeptiert wurde. Ich habe sie gegen einen Test-Diff laufen lassen, der eindeutig eine bestehende Spezifikation kaputtgemacht hat.
Der Check ist nicht fehlgeschlagen. Ich dachte, das sei ein Bug.
War es nicht. Das Tool sucht nach einem Begründungs-Kommentar in der Nähe der Änderung – nach so etwas wie „WARUM“, „HACK“ oder einem ähnlichen Marker. Wenn jemand die Abweichung bereits als absichtlich annotiert hat, wird sie anders geroutet als ein reines, unbeabsichtigtes Abdriften.
Das ist die eigentliche Trennung. Ein Widerspruch und ein Verstoß sind hier nicht dasselbe. Die Spezifikation sagt das eine, der Code das andere – wird trotzdem geloggt statt fehlgeschlagen, wenn ein Mensch die Lücke bereits erklärt hat.
Spezifikation geschrieben und indexiert, Code weicht ab, der Diff läuft durch „check-doc-drift“, ein Widerspruch wird erkannt, das Tool sucht in der Nähe nach genau diesem Marker. Absichtliche Abweichungen gehen einen Pfad, nicht erklärte schlagen den Build fehl.
Aber niemand prüft, ob dieser Marker noch irgendetwas bedeutet. Nichts verhindert, dass jemand „WARUM“ nur hinschreibt, um die Warnung zu beruhigen, und nichts prüft, ob die ursprüngliche Begründung hinter einem alten Marker noch stimmt.
Was passiert mit dieser Konvention über Hunderte PRs pro Woche hinweg, sobald sie zwischen einer Regression und einem stillen Durchlauf steht? 👍
#dusk $DUSK @Dusk

