Je suis le seul développeur d'un projet qui, comme tout projet logiciel, pourrait être repris par quelqu'un d'autre à l'avenir.
Disons que j'ai utilisé le modèle X pour implémenter la fonctionnalité A. Après avoir développé et terminé la fonctionnalité, je me rends compte que je pouvais implémenter la même fonctionnalité en utilisant le modèle Y, que je viens d'apprendre. Mais la fonctionnalité A fonctionne bien, et la refactorisation de X en Y prend du temps et donne peu d'avantages.
Ensuite, il est temps d'implémenter la fonctionnalité B. C'est similaire à A, mais cette fois, je veux profiter de cette occasion pour jouer avec le motif Y. Je suis content du résultat final, mieux que lorsque je fais la fonctionnalité A, mais maintenant mon code utilise deux différents modèles, X et Y, pour des caractéristiques similaires.
Mais il n'y a pas vraiment de raison d'utiliser des modèles différents, à l'exception du fait que lors de la création de la fonctionnalité, l'IA n'était pas suffisamment compétente pour utiliser le même modèle que pour la fonctionnalité B.
Notez que cette question ne concerne pas le choix du bon modèle pour un problème donné ; il s'agit de deux modèles coexistants dans la base de code pour résoudre des problèmes similaires, qui pourraient être réduits à un seul compte tenu du temps nécessaire pour refactoriser.
- Cette odeur de code?
- Quels sont les inconvénients de conserver le code source comme ceci?
- Dois-je m'en tenir à utiliser un seul motif? ie refactor A pour utiliser Y ou continuer à utiliser X lors de l'écriture de B?
- Comment, dans la source, puis-je communiquer que la raison pour laquelle il existe deux modèles différents pour des fonctionnalités similaires n'est essentiellement pas une raison?
- Suis-je trop inquiet de ce que le prochain développeur pense de mon code?