2008-10-23 13 views
7

J'essaie de faire une révision de code automatisée et de refactoring avec un outil. Quelque chose dans les lignes de FxCop ou ReSharper.Automatisation de la révision de code et refactoring

Vous cherchez des suggestions d'outils qui répondent à ces exigences:

  1. courbe d'apprentissage faible.
  2. Ciblé en C# (et peut-être VB.NET).
  3. Laissez-moi facilement ajouter ou personnaliser les règles (et comprend CodeDOM entier).
  4. Bien documenté.
  5. GRATUIT ou saleté pas cher. Désolé, faible taux de change =)

Les révisions de code manuelles seront encore effectuées. Mais l'outil doit être assez complet pour attraper tous les boo boos communs avant qu'un développeur senior fasse l'examen manuel.

Si vous avez des histoires à partager sur les outils que vous avez utilisés/utilisés, ce serait génial aussi.

Merci.

EDIT: Enfin eu le temps de se pencher sur les suggestions plus. StyleCop ne s'intègre pas avec Visual Studio Express Edition, ce que j'utilise. ReSharper a beaucoup plus de fonctionnalités que ce dont j'ai besoin (ce qui est purement pour automatiser les revues de code). Je dirais que ce n'est pas un outil très ciblé pour mes objectifs (et aussi la raison de son prix). Toujours à la recherche d'autres suggestions, le cas échéant. StyleCop n'intègre PAS Visual Studio Express mais vous pouvez toujours le configurer pour l'exécuter dans le cadre de votre build dans Visual Studio Express. On dirait que la meilleure solution pour l'instant.

Répondre

3

Puisque vous avez mentionné ReSharper, je vous recommande de regarder dans la fonctionnalité de styles de code de partage qui est disponible dans l'une des dernières versions. De cette façon, vous pouvez faire en sorte que votre équipe suive les mêmes normes et les mêmes styles de codage et les informera au fur et à mesure qu'ils codent. Vous pouvez lire plus ici: Sharing Code Styles.

J'ai également été sur un projet où nous avons couru FxCop à partir de Visual Studio en tant que processus de post-construction. Vous pouvez définir des avertissements et des erreurs comme vous le souhaitez dans FxCop et même échouer la construction si vous le souhaitez.

Microsoft StyleCop est un autre projet libre sur la galerie MSDN code qui peut être utile de vérifier:

Team System a quelques fonctionnalités intéressantes dans, mais vous avez dit pas cher, donc je ne vais pas même là :)

La chose la plus importante que j'ai apprise à propos de l'un de ces processus, c'est que l'équipe de développement doit comprendre pourquoi c'est important et que tout le monde doit s'y investir pour réussir. Un développeur ou un entrepreneur malhonnête peut faire le désordre et le reste de l'équipe peut penser pourquoi même déranger.

0

Je ne connais pas le refactoring automatisé, mais vous êtes sur la bonne voie pour l'analyse. FxCop est extensible avec custom rules et vous pouvez utiliser StyleCop pour analyser directement votre source (FxCop examine le MSIL compilé). Vous pouvez également tweak StyleCop pour gérer vos besoins spécifiques. En ce qui concerne la véritable "automatisation", vous devrez écrire quelque chose.Je suis gâté en ce que j'ai VSTS 2008 et l'automatisation est fournie par l'intermédiaire de l'IDE. Vous pourriez utiliser PowerShell ou un autre pour créer un échafaudage qui fournirait le premier passage qu'un développeur/réviseur senior pourrait alors utiliser.

+0

Un problème commun est que j'ai newbies en utilisant le nom de colonne pour obtenir la valeur d'un DataRow dans une boucle. Je veux qu'ils obtiennent l'index de la colonne en dehors de la boucle et utilisent l'index au lieu du nom à l'intérieur de la boucle. Est-ce que StyleCop peut attraper ces types d'erreurs? La documentation semble vague à ce sujet. – Fung

1

Je voudrais mentionner Code Metrics, qui est un bon outil de révision de code inclus dans les éditions Team System. Si vous ne faites pas ces versions fantaisistes de Visual Studio, vous pouvez jeter un oeil à StudioTools from Exact Magic Software, qui est un plugin gratuit.