J'essaie toujours de suivre le principe DRY strictement au travail; chaque fois que je répète du code par paresse, il mord plus tard lorsque je dois le conserver à deux endroits.
Mais souvent, j'écris de petites méthodes (peut-être 10 à 15 lignes de code) qui doivent être réutilisées dans deux projets qui ne peuvent pas se référencer. Cette méthode peut être liée à la mise en réseau / aux chaînes / au MVVM, etc. Il s’agit d’une méthode généralement utile qui n’est pas spécifique au projet dans lequel elle est placée
La méthode standard pour réutiliser ce code consiste à créer un projet indépendant pour le code réutilisable et à référencer ce projet lorsque vous en avez besoin. Le problème, c’est que nous nous retrouvons dans l’un des deux scénarios suivants:
- Nous nous retrouvons avec des dizaines / centaines de petits projets - chacun pour héberger les petites classes / méthodes que nous devions réutiliser. Vaut-il la peine de créer un tout nouveau
.DLL
pour juste un petit bout de code? - Nous nous retrouvons avec un seul projet contenant une collection croissante de méthodes et de classes sans rapport. Cette approche est celle d’une entreprise pour laquelle j’ai travaillé auparavant; ils avaient un projet nommé
base.common
qui contenait des dossiers pour les choses que j'ai mentionnées ci-dessus: réseau, manipulation de chaîne, MVVM, etc. Il était incroyablement pratique, mais le référencer entraînait inutilement tout le code inutile dont vous n'aviez pas besoin.
Donc ma question est:
Comment une équipe de logiciels réagit-elle au mieux pour la réutilisation de petits morceaux de code entre projets?
Je m'intéresse particulièrement si quelqu'un a travaillé dans une entreprise qui a des politiques dans ce domaine ou qui a personnellement rencontré ce dilemme, comme moi.
Remarque: mon utilisation des mots "Projet", "Solution" et "Référence" provient d'un contexte de développement .NET dans Visual Studio. Mais je suis sûr que ce problème est indépendant de la langue et de la plateforme.