Visual Studio-Code-Analyse gegen StyleCop + FxCop

72

Ich habe zuvor StyleCop + FxCop in den Projekten meines Visual Studios verwendet. Jetzt teste ich das Visual Studio-Code-Analyse-Tool, das einfacher in MSBuild zu integrieren ist, und habe festgestellt, dass dieses Tool einige der Regeln von FxCop und StyleCop analysiert.

Ist dieses Tool ein vollständiger Ersatz für FxCop und StyleCop oder implementiert es nur einige ihrer Regeln?

Jader Dias
quelle
7
Zu Ihrer Information, Code Analysis ist nur in Premium und höher, nicht in Professional. Siehe msdn.microsoft.com/en-us/library/dd264939%28v=VS.100%29.aspx
Pat
5
Die Codeanalyse ist jetzt in Visual Studio 2012 Professional und höher verfügbar. Siehe msdn.microsoft.com/en-us/library/dd264931.aspx
Nick Jones
5
Code Analsysis ist jetzt in der (Art) kostenlosen Visual Studio 2013 Community Edition verfügbar. Siehe visualstudio.com
mfeineis

Antworten:

47

Visual Studio enthält FxCop + more.

Aus dem Entwicklerblog von FxCop :

Entschuldigen Sie meine Unwissenheit, aber ich gehe davon aus, dass FxCop vollständig von der Code-Analyse in VSTS getrennt ist. Insbesondere gehe ich davon aus, dass VSTS bei der Installation der neuen Version von FxCop keinen Vorteil daraus ziehen wird (kein gemeinsam genutzter Code?). Wenn dies der Fall ist, gibt es eine Idee, wann diese Änderungen in die VSTS-Code-Analyse gelangen? Vielen Dank!

Das ist richtig, es sind verschiedene Produkte, aber sie haben einen gemeinsamen Motor. Visual Studio 2008 SP1 enthält bereits dieselben Korrekturen und Analysen (plus ein bisschen mehr), sodass Visual Studio nicht mit dem neuesten FxCop aktualisiert werden muss.

Ein Entwickler-Blog gab auch die genauen Regeln an, die in jedem enthalten sind.

StyleCop ist unabhängig von der VS-Code-Analyse, wie in diesem Blog-Beitrag beschrieben , der auf den Beitrag von Jader Dias verweist .

Ben S.
quelle
Der Entwickler-Blog-Link ist defekt, aber hier ist ein Artikel, der die Regelsätze docs.microsoft.com/en-us/visualstudio/code-quality/… auflistet
Casey
13

Ich verstehe, dass Visual Studio Code Analysis im Grunde eine leicht modifizierte Version von FxCop ist. Aus meiner Erfahrung sind sie fast dasselbe (tatsächlich glaube ich, dass Code Analysis die ausführbare FxCop-Datei hinter den Kulissen verwendet).

Obwohl es Überschneidungen zwischen FxCop / CodeAnalysis und StyleCop gibt; FxCop konzentriert sich eher auf Designregeln und StyleCop konzentriert sich auf den Codierungsstil (Gehäuse, Leerzeichen, Einrückungen usw.).

Außerdem analysiert FxCop die IL, während StyleCop den Quellcode direkt analysiert. Dies legt unterschiedliche Einschränkungen für die Regeln fest, die sie jeweils durchsetzen können.

Dylan Smith
quelle
11

Bisher ergab mein Googeln folgende Antwort:

http://blogs.msdn.com/bharry/archive/2008/07/19/clearing-up-confusion.aspx

Zustände:

"Wir haben festgestellt, dass StyleCop in der Tat ein sehr nützliches Werkzeug ist und Dinge tut, die FxCop und TeamDev nicht tun (und es tut nicht die Dinge, die sie tun). Es ist ein wunderbares ergänzendes Werkzeug. StyleCop ist ein Werkzeug für Durchführen der Überprüfung des Codierungsstils, um zu überprüfen, ob der Quellcode wie gewünscht formatiert ist und den Stilrichtlinien für Konventionen folgt. Obwohl es einige Überschneidungen mit FxCop gibt (wie das Überprüfen der Groß- und Kleinschreibung von Bezeichnern), ist die Überlappung winzig, da StyleCop diese Tiefenanalyse nicht durchführt Die anderen statischen Analysetools ermöglichen Codekorrektheitsprüfungen, Sicherheitsüberprüfungen usw. "

Ich bin mir jedoch nicht sicher, ob "TeamDev" mit "Visual Studio's Code Analysis" identisch ist.

Jader Dias
quelle