Question

Nos solutions / projets actuels combinent plusieurs classes en un seul fichier. On m'a dit que cela avait été fait en raison de la lenteur de la compilation dans VS.

Est-ce un problème confirmé et une solution?

Pouvons-nous les séparer maintenant que nous utilisons le système VS2008 Team? Est-ce que quelqu'un d'autre a séparé les classes en différents fichiers et a quand même de bonnes performances?

Était-ce utile?

La solution

Je travaille sur l'équipe IDE de VB.Net et je peux vous affirmer que tout mettre dans un fichier entraînera une exécution plus lente et non plus rapide des VS. VB.Net fonctionne parfaitement avec des classes de différents fichiers.

La seule fois que cela ferait une différence serait si vous disposiez d'un disque dur incroyablement lent et de fichiers qui se trouvaient sur des parties très différentes des disques physiques (ce qui aurait pour conséquence de multiplier les instructions de recherche). En général, cela ne devrait pas être un problème et pour l'IDE VB.Net, ce ne serait un problème que lors du démarrage initial. Nous avons plusieurs couches de mise en cache qui contribueraient à éliminer même ces types de problèmes.

Vous pouvez pouvoir découvrir quelques avantages minimes avec cette approche si vous ne tenez compte que du temps brut nécessaire au compilateur en ligne de commande pour fonctionner. IMHO, les chiffres les plus importants sont la réactivité de Visual Studio et le temps de création relatif de Visual Studio. La réactivité des VS diminuera si les fichiers extrêmement sont longs (ce qui finira par se produire si vous mettez jamais une classe dans un seul fichier).

Autres conseils

À quoi ressemble votre matériel?

Le gros problème avec VS est qu’il doit lire et écrire des charges de petits fichiers.

Un disque dur rapide ou deux peuvent améliorer les performances de vos performances!

J'utilise C # plutôt que VB.NET, mais je n'ai jamais rencontré de problèmes de performances du compilateur. Il semble que ce soit une sorte d'optimisation prématurée. Je me fiche de combien de temps mon serveur de build a besoin de compiler l'application. Ne sacrifiez pas la clarté pour les performances de temps de construction.

Il semblerait que vous souhaitiez peut-être essayer de persuader votre équipe de se pencher sur la conception de la solution. il n’est peut-être pas optimal d’avoir une solution géante avec tous les projets. Si les temps de construction posent effectivement un problème, je préférerais le résoudre en décomposant la solution en parties logiques, si possible.

Je ne pense pas que le regroupement de nombreuses classes dans un seul fichier améliorera considérablement les performances de construction de projets normaux. Il devrait être prudent de les décomposer en davantage de fichiers (un par classe est standard).

La seule exception à laquelle j'ai eu à faire face est "Site Web". projets. Je n'ai pas de données scientifiques, mais celles-ci semblent ralentir à mesure que le nombre de fichiers augmente. Pour résoudre ce problème, vous pouvez le convertir en une " Application Web " projet.

Si vous avez trop de projets dans une solution, on sait également que VS est lent, mais cela ne vous ressemble pas.

Il s'agit d'un problème confirmé et d'une solution confirmée. Chez Tech Ed cette année, ils ont dit que ce ne serait plus un problème dans VS2010, que vous pourriez télécharger une version bêta et l'essayer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top