Je définis un projet comme un répertoire SVN contenant le tronc, les branches, les sous-répertoires des tags.
Quels critères utilisez-vous pour déterminer s'il faut diviser un projet en deux ou regrouper plusieurs projets en un seul ? - Une application par "projet" avec un projet partagé pour une source et des ressources communes ? - Un grand "projet" contenant toutes les sources et ressources de l'application ?
Projet unique ou projet multiple, les deux ont leurs avantages et leurs inconvénients. Nous nous dirigeons plutôt vers un projet unique et j'essaie de savoir si c'est la bonne approche.
Les projets fractionnés permettent de mieux contrôler comment les différentes parties de la suite intègrent un changement. La bibliothèque commune peut être versionnée et les différentes applications peuvent choisir d'utiliser une version spécifique (approche de gestion des dépôts maven).
Les projets fractionnés créent également de multiples hiérarchies de classes, ce qui rend le code plus difficile à comprendre dans son ensemble et peut conduire à une duplication du code. Je suppose qu'une conception adéquate de la structure globale et des relations entre les composants est essentielle pour gérer ce coût.
Une approche unifiée du projet facilitera la tâche du développeur en termes de mise en place d'un espace de travail, et fournira une hiérarchie de classe unique. Il s'agit d'une arme à double tranchant, car le développeur recevra également beaucoup plus d'informations (trop de classes à comprendre).
Alors, quand vous essayez de décider où combiner et où diviser, quelles règles empiriques utilisez-vous ?