Ca peut être une stratégie de garder de la duplication initialement tant que les concepts ne sont pas clairement identifiés. Souvent, on est a un stade où il est pas encore clair si deux choses sont intrinsèquement les mêmes ou si la ressemblance est juste une coïncide, possiblement temporaire. Compartimenter ces différents concepts et les blinder pour qu'ils existent indépendamment peut être un très bon choix (voir le l'article que j'ai donné plus bas). Au pire si les deux concepts sont réellement identiques, et avec beaucoup beaucoup de discipline, on pourra les fusionner à la prochaine itération.
Par contre, si il est déjà identifié qu'on a un unique concept et plusieurs implémentations qui se baladent c'est juste du boulot mal fait. Par ce qu'il est bien connu que ton futur toi aura aura plus de temps libre que ton toi actuel pour nettoyer le caca, et qu'entre temps tout ne va pas se dégrader à vitesse grand V, koufffff.
En complément, la présentation Sometimes a Controller is just a Controller est assez intéressante pour réfléchir à ces sujets. On y discute justement les différentes approches individuelles, d'équipes etc. Ce n'est pas uniquement sur ce sujet, mais ça vaut très largement les 42 minutes investies.
[^] # Re: chi va piano va sano
Posté par ckyl . En réponse au journal Lutter contre l'overengineering. Évalué à 6.
DRY s'applique aux idées et non au code, voir http://dearjunior.blogspot.fr/2012/03/dry-is-about-ideas-not-text.html.
Ca peut être une stratégie de garder de la duplication initialement tant que les concepts ne sont pas clairement identifiés. Souvent, on est a un stade où il est pas encore clair si deux choses sont intrinsèquement les mêmes ou si la ressemblance est juste une coïncide, possiblement temporaire. Compartimenter ces différents concepts et les blinder pour qu'ils existent indépendamment peut être un très bon choix (voir le l'article que j'ai donné plus bas). Au pire si les deux concepts sont réellement identiques, et avec beaucoup beaucoup de discipline, on pourra les fusionner à la prochaine itération.
Par contre, si il est déjà identifié qu'on a un unique concept et plusieurs implémentations qui se baladent c'est juste du boulot mal fait. Par ce qu'il est bien connu que ton futur toi aura aura plus de temps libre que ton toi actuel pour nettoyer le caca, et qu'entre temps tout ne va pas se dégrader à vitesse grand V, koufffff.
En complément, la présentation Sometimes a Controller is just a Controller est assez intéressante pour réfléchir à ces sujets. On y discute justement les différentes approches individuelles, d'équipes etc. Ce n'est pas uniquement sur ce sujet, mais ça vaut très largement les 42 minutes investies.