Nous avons 3 ans de solution (.sln) avec environ 20 projets (.csproj). Il est raisonnable de commencer à utiliser FXCop et / ou stylécop? Peut-être devrions-nous l'utiliser pour plusieurs petits projets en premier mais pas pour une solution entière? P>
Ce serait bien de voir des réponses expérimentées. P>
merci. p>
edit: strong> Nous utilisons TeamCity pour une intégration continue. Et nous n'avons aucune possibilité d'utiliser Resharper. :( coderushxpress seulement. P>
6 Réponses :
Oui, vous devriez, mais lentement. P>
Obtenez une copie de Resharper, installez Stylecop et obtenez le plug-in RestoProper, la configuration que les règles que vous souhaitez utiliser, et à partir de ce fichier que vous ouvrez seront pleines de lignes bleus wiggly pour vous dire où les choses sont mauvais. p>
Si vous venez de les réparer, un fichier à la fois, vous finirez par vous retrouver avec un joli projet propre, sans que la nécessité de convaincre votre patron de vous laisser passer 3 semaines de traverser votre projet ne réduisant rien qui n'aboutit que Temps! P>
Obtenir que le code de nettoyage est comme le refactoring, si vous essayez de le faire sur un projet entier tout à la fois, vous allez vous retrouver dans un cornichon :) p>
Ouais, les ajouter va vous tuer pendant un certain temps - il montrera des tonnes de problèmes.
N'ont aucune possibilité d'utiliser Resharper. :( Autres façons d'utiliser stylécop? Thru coderushxpress Peut-être? Et qu'en est-il de FXCop?
Trouvé stylécop pour coderushxpress! CRSTYLECOP.CODEPLEX.COM/RELLEASE/... Merci pour l'idée.
Hmm, je ne savais pas à ce sujet. Je ne suis pas un grand fan de Codérush, la principale raison pour laquelle je suis Resharper est à cause de la mise en évidence de la syntaxe et de la petite truc de Lightbulb qui apparaît avec les options de refactorisation et de correction d'erreur. Codérush ne semblait pas avoir ça. Quelques-uns des autres gars ici l'utilisent cependant, donc je pourrais les signaler à cet addon: D
Premièrement, utilisez Stylecop sur des fichiers individuels pour résoudre la plupart des problèmes, puis installez Styecop pour Resharper - sinon vous serez inondé par les problèmes.
J'ai 50 avertissements stylécops sur un seul fichier de 100 lignes. :) On dirait que nous devons le faire produire par fichier comme Hans suggéré. Trop pitié c'est un commentaire mais pas répondre. Je choisirais cela comme la réponse correcte à ma question.
Être juste, j'ai dit un fichier à la fois;) Mais oui, vous constaterez que les premières fois où vous l'exécutez, vous obtiendrez un grand volume d'avertissements, continuez de le garder et vous finirez par vous retrouverez Avec une belle base de code qui est plus facile à entretenir!
Selon la manière dont la solution a été créée une intégration (et des problèmes de fixation rapportées par ces outils) pourrait prendre beaucoup de temps, alors je pense que l'intégration des projets un par un est la façon dont vous devriez aller. P>
edit strong>: p>
En plus de la réponse d'ED Woodcock: vous pouvez configurer Sylecop (et je parier FXCOP aussi) pour exécuter automatiquement leurs chèques lors de chaque version de VS. Utilisation de cette fonctionnalité, vous pouvez activer les chèques sur tous vos projets un par un et corriger tous les avertissements (vous pouvez également configurer ces outils pour générer des erreurs) juste pendant votre développement régulier. P>
Nous avons une équipe pour une intégration continue. Je devrais probablement mentionner cela dans ma question.
Je viens de commencer à utiliser Styecop sur mes projets personnels et il faut un peu de temps pour travailler à travers les "problèmes" soulevés. P>
Je recommanderais d'exécuter Stylecop sur un échantillon de vos fichiers et d'analyser les résultats avant de lancer pour apporter des modifications. P>
Par exemple, par défaut Styecop se plaint de la documentation de la méthode manquante pour toutes les méthodes, tant publique que privées. Maintenant, je ne peux pas répondre à cela pour vous, mais vous devez décider si vous souhaitez que des méthodes privées disposent d'une documentation complète ou non (il y a des arguments à la fois). Mais vous devez décider d'une manière ou d'une autre. Vous ne voulez pas avoir 6 mois pour faire des changements à une manière et puis décidez que vous le souhaitez l'autre. C'est soit que vous allez vous amener à faire des changements inutiles ou à revoir le code que vous pensiez que vous avez fini. P>
Une fois que vous avez effectué les réglages nécessaires aux paramètres de Styecop, puis lâchez-le sur votre base de code - un projet à la fois. P>
Je suppose qu'il y a le moyen d'utiliser stylécop pour un seul projet de la solution mais pas pour une solution totale. Merci.
@Vasiliy - Je sais que vous pouvez cliquer avec le bouton droit de la souris sur un fichier et exécuter stylécop sur n'importe quel fichier dans le menu contextuel. Pouvez-vous faire la même chose en cliquant avec le bouton droit de la souris sur un projet? (Je n'ai pas de stylécop sur ce PC pour vérifier).
Juste installé stylécop. Oui, il est possible de courir dans un fichier ou un projet.
@Vasiliy - Je pensais que vous pourriez l'exécuter sur un projet individuel, mais je n'étais pas sûr à 100% alors ne voulait pas faire une déclaration catégorique.
En ce qui concerne FXCop, oui c'est une bonne idée d'utiliser l'outil, que vous soyez dans un nouveau projet ou un nouveau projet. Un peu comme stylécop, vous pouvez exécuter l'outil et revoir la sortie. Contrairement à StyCopop, FXCop fonctionne sur le code compilé, pas la source. P>
Ce sera probablement écrasant au début. Une bonne idée est d'éteindre tous les groupes de règles et de remédier à l'outil pour obtenir une ardoise vierge. Activez un groupe à la fois, résoudre tous les messages qui apparaissent ou éteignant des règles spécifiques dans ce groupe s'ils ne s'appliquent pas à vous (les règles par défaut dans son ensemble sont assez vastes, et toutes ne s'appliqueront pas; vous devez personnaliser le règles de règles pour vos besoins). P>
à la fin, vous aurez résolu tous les messages en mettant en œuvre des corrections appropriées ou en désactivant de manière sélective des règles étrangères. P>
règle (aucun jeu de mots destiné à), je considère que les groupes de sécurité et de performance sont bons pour commencer. Les règles de dénomination sont subjectives et peuvent heurter vos propres conventions. Éteignez-les si oui. La mobilité et la mondialisation sont également subjectives et dépendent de vos besoins. Quant au reste, eh bien, vous créez vos propres conclusions! P>
Réponse vraiment utile. Merci.
Une alternative ou un bon complément à fxcop / stylécop em> serait d'utiliser l'outil commercial Ndepend . Avec cet outil, on peut plus que 200 règles de code sont proposées par défaut, celles-ci incluent Conception em>, architecture em>, qualité de code em>, code evolution em>, , Conventions de nommage em>, code mort em>, .net fx usage em> ... p>
CQLINQ est dédié à écrire des règles de code qui peuvent être Vérifié en direct dans Visual Studio , ou Cela peut être Vérifié pendant le processus de construction et rapporté dans un rapport HTML / JavaScript . p>
La force de CQLINQ sur FXCop ou stylécop est celle p>
Cela dépend: P>
Je pense que cela revient à la réduction
Je pense que ce commentaire passe sur le fait incorrect que le code de travail est bon code, ce n'est peut-être pas. Il y a une immense valeur au bon code. 85% du temps sont consacrés à la maintenance, le bon code améliore la maintenance. Il y a énormément de valeur dans la modification de code qui fonctionne, plus de code que ce n'est pas! Le code qui fonctionne peut être laissé pendant de longues périodes, il devrait être documenté et bien documenté. Il devrait suivre un ensemble de normes pour le style et la conception que vous prévoyez d'utiliser à l'avenir, et plus de tout autre code est facile pour les futurs programmeurs à comprendre.