1 Punkte von GN⁺ 2026-02-02 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Ein Beispiel aus der Entwicklung einer Anwendung zur Berichtserstellung, bei der eine --dry-run-Option hinzugefügt wurde, um das Ausführungsergebnis zu simulieren
  • Diese Option gibt aus, welche Aktionen ausgeführt würden, ohne tatsächliche Änderungen vorzunehmen, und ermöglicht so sichere Tests und schnelles Feedback
  • Entwickler können damit Konfiguration, Zugänglichkeit und Systemzustand sofort prüfen und sie als alltägliches Verifizierungswerkzeug nutzen
  • Als Nachteil wird eine leicht erhöhte Komplexität genannt, da im Code das Flag dryRun geprüft werden muss
  • Bei imperativen Anwendungen ist die --dry-run-Funktion sehr nützlich; je früher sie im Projekt eingeführt wird, desto höher ist die Entwicklungseffizienz

Hintergrund

  • Die neu entwickelte Anwendung zur Berichtserstellung erzeugt an jedem Werktag Berichte, komprimiert sie, lädt sie auf einen sftp-Server hoch, prüft Fehlerantworten und verschickt Benachrichtigungs-E-Mails
    • In jedem Schritt erzeugte Dateien und Feedback-Dateien werden in unterschiedliche Verzeichnisse pro Phase verschoben
  • Zu Beginn der Entwicklung erinnerte man sich an Subversion und die --dry-run-Option vieler Linux-Befehle und fügte dieselbe Funktion hinzu
    • Diese Option gibt aus, was bei der Ausführung passieren würde, ohne echte Änderungen vorzunehmen
  • Bei einer Ausführung mit --dry-run werden die zu erzeugenden und auszuschließenden Berichte, die zu komprimierenden und zu verschiebenden Dateien sowie die per sftp hoch- und herunterzuladenden Dateien schrittweise ausgegeben

Nutzung und Vorteile

  • Eine so nützliche Funktion, dass sie im Entwicklungs- und Testprozess täglich verwendet wird
  • Wenn sie zur Zustandsprüfung vor der Ausführung verwendet wird, lassen sich Konfiguration, Zugänglichkeit und Systemzustand sofort überprüfen
    • Da keine tatsächlichen Änderungen vorgenommen werden, kann sie sicher ausgeführt werden
  • Wenn das Datum der Statusdatei eines Berichts geändert wird, lässt sich sofort prüfen, ob dieser Bericht erzeugt werden würde
    • Die eigentliche Berichtserstellung braucht Zeit, aber --dry-run liefert schnelles Feedback
  • Auch beim Testen des Gesamtsystems bietet sie eine schnelle Validierungsschleife

Nachteile

  • Da im Code das Flag dryRun wiederholt geprüft werden muss, entsteht eine leichte Verunreinigung des Codes
    • In jedem Hauptschritt wird das Flag geprüft, sodass statt der echten Ausführung nur Logs ausgegeben werden
  • Diese Prüfungen reichen jedoch nicht tief hinein, und innerhalb der Logik zur Berichtserstellung ist keine gesonderte Behandlung nötig
    • Geprüft wird nur auf der übergeordneten Ebene, die über die Ausführung entscheidet

Fazit

  • Anwendungen, die imperativ ausgeführt werden und Ergebnisse erzeugen, passen gut zu einer --dry-run-Option
    • Für reaktive Anwendungen, die auf Nachrichten warten, ist sie dagegen nicht geeignet
  • Dass sie früh im Projekt hinzugefügt wurde, half erheblich dabei, die Entwicklungseffizienz zu steigern
  • Sie ist nicht in jeder Situation nötig, wird aber im passenden Fall als sehr nützliches Werkzeug bewertet

Noch keine Kommentare.

Noch keine Kommentare.