1 points par GN⁺ 2026-02-02 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Exemple de l’ajout d’une option --dry-run lors du développement d’une application de génération de rapports afin de pouvoir simuler le résultat de l’exécution
  • Cette option affiche quelles opérations seraient effectuées sans appliquer de modifications réelles, ce qui permet des tests sûrs et un retour rapide
  • Le développeur peut ainsi vérifier immédiatement la configuration, l’accessibilité et l’état du système, et l’utiliser comme outil de vérification au quotidien
  • Comme inconvénient, une légère augmentation de la complexité est mentionnée, car il faut vérifier le flag dryRun dans le code
  • Dans les applications impératives, la fonctionnalité --dry-run est très utile, et plus elle est introduite tôt dans le projet, plus l’efficacité du développement augmente

Contexte

  • La nouvelle application de génération de rapports en cours de développement génère chaque jour ouvré des rapports, les compresse, les envoie vers un serveur sftp, vérifie les réponses d’erreur et envoie des e-mails de notification
    • Les fichiers générés et les fichiers de retour produits à chaque étape sont déplacés vers des répertoires différents selon l’étape
  • Au début du développement, en repensant à Subversion et à l’option --dry-run de plusieurs commandes Linux, la même fonctionnalité a été ajoutée
    • Cette option affiche ce qui se passerait à l’exécution sans effectuer de changement réel
  • Lors d’une exécution avec --dry-run, les rapports qui seraient générés et ceux qui seraient exclus, les fichiers qui seraient compressés et déplacés, ainsi que les fichiers concernés par l’upload et le téléchargement sftp sont affichés étape par étape

Utilisation et avantages

  • Une fonctionnalité suffisamment utile pour être utilisée tous les jours pendant le développement et les tests
  • Utilisée pour vérifier l’état avant exécution, elle permet de contrôler immédiatement la configuration, l’accessibilité et l’état du système
    • Comme aucun changement réel n’est effectué, elle peut être exécutée en toute sécurité
  • En modifiant la date du fichier d’état d’un rapport, il est possible de vérifier immédiatement si ce rapport sera généré
    • La génération réelle du rapport prend du temps, mais le dry-run fournit un retour rapide
  • Même lors des tests de l’ensemble du système, il offre une boucle de validation rapide

Inconvénients

  • Il faut vérifier de façon répétée le flag dryRun dans le code, ce qui entraîne une légère pollution du code
    • À chaque étape principale, le flag est contrôlé pour n’afficher que des logs au lieu d’exécuter réellement l’action
  • Cependant, cette vérification n’est pas profonde et aucun traitement particulier n’est nécessaire à l’intérieur de la logique de génération de rapports
    • La vérification n’est faite qu’au niveau supérieur, là où l’exécution effective est décidée

Conclusion

  • Les applications exécutées de manière impérative et qui produisent un résultat se prêtent bien à une option --dry-run
    • En revanche, elle ne convient pas aux applications réactives qui attendent des messages
  • Le fait de l’avoir ajoutée dès le début du projet a été d’une grande aide pour améliorer l’efficacité du développement
  • Ce n’est pas une fonctionnalité nécessaire dans tous les cas, mais elle est considérée comme un outil très utile lorsqu’elle est appropriée

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.