2008-10-23 13 views
7

Ich versuche, Code-Review und Refactoring mit einem Tool zu automatisieren. Etwas in den Linien von FxCop oder ReSharper.Code-Review und Refactoring automatisieren

der Suche nach Werkzeug Vorschläge, die diese Anforderungen erfüllen:

  1. Low Lernkurve.
  2. Targeted bei C# (und vielleicht VB.NET).
  3. Lassen Sie mich einfach Regeln hinzufügen oder anpassen (und versteht den gesamten CodeDOM).
  4. Gut dokumentiert.
  5. KOSTENLOS oder spottbillig. Entschuldigung, niedriger Wechselkurs =)

Manuelle Code-Überprüfungen werden noch durchgeführt. Aber das Tool sollte gründlich genug sein, um alle gängigen Booboos zu erfassen, bevor ein leitender Entwickler die manuelle Überprüfung durchführt.

Wenn Sie Geschichten über die Werkzeuge haben, die Sie verwendet haben/verwenden, dann wäre das auch großartig.

Danke.

EDIT: Endlich hatte etwas Zeit, um die Vorschläge mehr zu untersuchen. StyleCop integriert NICHT mit der Visual Studio Express Edition, die ich verwende. ReSharper hat viel mehr Funktionen als das, was ich benötige (was nur Code-Überprüfungen automatisiert). Ich würde sagen, es ist kein sehr fokussiertes Werkzeug für meine Zwecke (und auch der Grund für seinen Preisschild). Suchen Sie noch nach anderen Vorschlägen falls überhaupt.

EDITDIT: StyleCop kann nicht in Visual Studio Express integriert werden, Sie können es jedoch trotzdem so einrichten, dass es als Teil Ihres Builds in Visual Studio Express ausgeführt wird. Scheint wie die beste Lösung für jetzt.

Antwort

3

Da Sie ReSharper erwähnt haben, würde ich empfehlen, das Feature zum Freigeben von Code zu lesen, das in einer der neuesten Versionen verfügbar ist. Auf diese Weise können Sie Ihr Team den gleichen Standards und Codierungsstilen folgen lassen und sie während des Codes wissen lassen. Sie können mehr hier lesen: Sharing Code Styles.

Ich war auch auf einem Projekt, wo wir FxCop von Visual Studio als Post-Build-Prozess lief. Sie können Warnungen und Fehler so einstellen, wie Sie es in FxCop wollen, und sogar den Build nicht ausführen, wenn Sie möchten.

Microsofts StyleCop ist ein weiteres freies Projekt auf MSDN Code Galerie, die Check-out kann sich lohnen:

Team System einige nette Features in sich hat, aber man sagte billig, so bin ich nicht einmal dorthin zu gehen :)

Das Wichtigste, was ich über einen dieser Prozesse gelernt habe, ist, dass das Entwicklungsteam verstehen muss, warum das wichtig ist und dass jeder etwas kaufen muss, damit es erfolgreich ist. Ein schurkischer Entwickler oder Auftragnehmer kann die ganze Sache zu einem Durcheinander machen, und dann könnte der Rest des Teams denken, warum auch nur stören.

0

Ich weiß nichts über automatisierte Refactoring, aber Sie sind auf dem richtigen Weg für die Analyse. FxCop ist erweiterbar mit custom rules und Sie können StyleCop verwenden, um Ihre Quelle direkt zu analysieren (FxCop untersucht die kompilierte MSIL). Sie können auch tweak StyleCop, um Ihre spezifischen Anforderungen zu behandeln. Soweit wahre "Automatisierung" geht, müsste man etwas skripten.Ich bin verwöhnt, dass ich VSTS 2008 habe und die Automatisierung über die IDE bereitgestellt wird. Sie könnten PowerShell o.ä. verwenden, um ein Gerüst zu erstellen, das den ersten Durchlauf bietet, von dem ein älterer Entwickler/Prüfer dann arbeiten könnte.

+0

Ein häufiges Problem, das ich habe Neulinge sind den Spaltennamen mit dem Wert aus einer DataRow in einer Schleife zu erhalten. Ich möchte, dass sie den Index der Spalte außerhalb der Schleife abrufen und den Index anstelle des Namens innerhalb der Schleife verwenden. Kann StyleCop diese Art von Fehlern erkennen? Die Dokumentation scheint dazu vage. – Fung

1

Ich möchte erwähnen, Code Metrics, die eine gute Code-Review-Tool in den Team System-Editionen enthalten ist. Wenn Sie diese ausgefallenen Versionen von Visual Studio nicht verwenden, können Sie sich StudioTools from Exact Magic Software ansehen, was ein kostenloses Plugin ist.