J'ai récemment commencé à travailler pour un nouveau client avec une ancienne base de code héritée dans laquelle il existe plusieurs solutions .net, chacune héberge généralement certains projets uniques à cette solution, mais "emprunte" / "relie" (ajouter un projet existant) quelques autres projets qui appartient techniquement à d'autres solutions (du moins si vous passez par la structure des dossiers dans TFS)
Je n'ai jamais vu une configuration aussi entrelacée, il n'y a pas d'ordre de construction clair, parfois un projet dans la solution A référence simplement les DLL directement depuis le répertoire de sortie d'un projet hébergé dans la solution B, parfois le projet vient d'être inclus directement même s'il réside LOIN loin dans la structure des dossiers.
Il semble que tout a été optimisé pour la paresse des développeurs.
Quand je leur ai expliqué pourquoi ils n'avaient pas de serveur CI, ils ont répondu qu'il était difficile de configurer le code tel qu'il est. (Je l'installe maintenant et maudis cette organisation de code)
Les solutions sont organisées autour d'artefacts de déploiement (les choses qui doivent être déployées ensemble sont dans la même solution), ce qui, je pense, est une sage décision, mais le contenu de ces solutions (les projets) est partout.
Existe-t-il un consensus sur les meilleures pratiques à utiliser lors de la réutilisation de bibliothèques de classes communes sur plusieurs solutions / artefacts de déploiement,
- Comment structurer le code dans le VCS
- Comment faciliter le partage de la logique métier entre des artefacts de déploiement distincts