Je viens de commencer à travailler sur un projet et nous utilisons la conception pilotée par domaine (telle que définie par Eric Evans dans Domain-Driven Design: Tackling Complexity in the Heart of Software . Je crois que notre projet est certainement un candidat pour cette conception modèle comme Evans le décrit dans son livre.
Je me bats avec l'idée de refactoriser constamment.
Je sais que le refactoring est une nécessité dans tout projet et se produira inévitablement à mesure que le logiciel change. Cependant, d'après mon expérience, le refactoring se produit lorsque les besoins de l'équipe de développement changent, et non pas comme la compréhension du domaine change ("refactoring pour une meilleure compréhension" comme l'appelle Evans). Je m'intéresse surtout aux percées dans la compréhension du modèle de domaine. Je comprends que je fais de petits changements, mais que se passe-t-il si un grand changement dans le modèle est nécessaire?
Quel est un moyen efficace de vous convaincre (et convaincre les autres) que vous devriez refactoriser une fois que vous avez obtenu un modèle de domaine plus clair? Après tout, la refactorisation pour améliorer l'organisation ou les performances du code pourrait être complètement distincte de la façon dont l'expression est expressive en termes de code de langage omniprésent. Parfois, il semble juste qu'il n'y ait pas assez de temps pour refactoriser.
Heureusement, SCRUM se prête au refactoring. La nature itérative de SCRUM permet de construire facilement une petite pièce et de la changer. Mais au fil du temps, cette pièce deviendra plus grande et que se passe-t-il si vous avez une percée après que cette pièce soit si grande qu'elle sera trop difficile à changer?
Quelqu'un a-t-il travaillé sur un projet utilisant une conception orientée domaine? Si c'est le cas, ce serait formidable d'avoir un aperçu de celui-ci. Je voudrais surtout entendre des histoires de réussite, car DDD semble très difficile à bien faire.
Merci!