2010-12-01 22 views
0

Nous travaillons sur une grande application, comprenant environ 100 projets (40 vues, 40 contrôleurs/modèles, 20 bibliothèques Utilities). Nous avons externalisé la plus grande partie du travail et les livrables arrivent assez au hasard. Lorsque nous obtenons un livrable (un projet), nous devons lancer FxCop, StyleCop, les tests unitaires associés, etc. avant de le confier au contrôle de source. Pour rendre cela plus facile, nous avons mandaté que chaque projet ait un fichier de solution. Cela nous permet d'exécuter simplement un script automatisé sur le fichier de solution qui le teste avant de l'enregistrer.Y a-t-il des inconvénients à avoir une solution par projet?

Ma question est "Pouvez-vous penser à des inconvénients à avoir une solution pour chaque projet?".

nous avons déjà Désavantages abordés comprennent:

  1. entretien supplémentaire requis par les développeurs. Cela ne nous dérange pas car nous avons sous-traité le développement d'un contrat à prix fixe.
  2. Liaisons SourceSafe dans le fichier de solution. Cela aurait pu être un gros problème, mais heureusement, nous avons migré vers TFS il y a environ un an.

Répondre

0

Nous avons découvert un inconvénient à la fin. Tous nos projets sont dans Visual Studio 2008. Si nous voulons mettre à niveau un projet vers Visual Studio 2010, nous avons réalisé que nous aurions presque certainement besoin de mettre à niveau tous les autres projets (directement ou indirectement, dépendants ou dépendants de , L'un et l'autre).

1

Nous sommes dans un bateau similaire avec environ 200 projets, dont beaucoup sont d'usage courant, à travers nos différentes solutions de différentes tailles. Un inconvénient est le temps de chargement, un avantage est le débogage, c'est-à-dire si votre code appelle d'autres assemblages, alors il est bon d'avoir tout dans la même solution. De plus, nous gardons nos tests unitaires et d'intégration avec notre projet principal (DLL ou EXE) dans la même solution, donc même sur un modèle simple, nous en avons au moins trois par solution. En fin de compte, je dirais que le plus grand avantage d'une solution commune se résume à débogage cross-projet, IMO. - Mais je ne les jetterais jamais ensemble à moins qu'il y ait au moins ceci, ou quelque autre raison impérieuse. Sur une note de côté - nous n'autorisons pas un projet sans solution pour les raisons que vous avez notées ci-dessus (exécution de FxCop, etc.) plus l'intégration continue. Un inconvénient d'une solution volumineuse avec plusieurs projets est le temps de construction - mais cela aide à savoir si le fait de jouer avec un composant a fini par casser une solution/un projet sans rapport.