• [^] # Re: chi va piano va sano

    Posté par . En réponse au journal Lutter contre l'overengineering. Évalué à 3.

    si ce que tu veux refactoriser ce sont des classes complètes, le problème c'est qu'une classe embarque un état + un comportement, c'est donc plus compliqué qu'une "simple fonction" qui n'embarque qu'un comportement (sous réserve que tu n'utilises pas des variables globales, statiques ou assimilés)

    Donc ce que tu entends c'est que le code « r2r » est une fonction pure donc son comportement est simple (pas d'effet de bord) et facilement testable. C'est pratique quand c'est le cas, mais il arrive que ça ne soit pas possible à obtenir (dans un temps limité au moins).

    donc tu n'implémentes pas cette complexité supplémentaire qui te retarderait en développement, mais également en tests et en gestion des effets de bords

    Il y a aussi des techniques qui permettent de préparer les nouveautés avec un sur coût en terme de temps de dev négligeable. Je pense particulièrement aux cas où personnellement, je fais une sorte de data-driven programming : un cas trivial c'est pour implémenter différent cas au lieu d'avoir une structure de contrôle if/else if/else ou un switch, je place chaque partie du code dans un dictionnaire condition => fonction. Ajouter des cas consiste à ajouter le cas à l'initialisation de l'objet et le test qui va avec (c'est plus déclaratif et ça réduit la complexité cyclomatique).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)