FxCop / Code-Analyse mit VS2010 Ultimate

8

Ich habe einige Informationen dazu, aber ich kann immer noch eine richtige Antwort finden, ich wurde kürzlich in meiner Firma gefragt: "Führe eine fxcop-Analyse für diesen Code durch und erzähle mir die Ergebnisse".

Ok, ich habe VS2010 Ultimate, die Code-Analyse hat, aber bevor ich irgendeinen Kommentar mache, stöbere ich im Internet, weil ich die beste Wahl implementieren möchte ...

Sagen wir also, ich werde die gleichen Regeln für beide Analysatoren verwenden:

  • Soll ich eins über dem anderen empfehlen?
  • Soll ich sagen "Hey, das ist schon alt, lass uns Code-Analyse verwenden!"
  • Soll ich dieselben Ergebnisse auf verschiedenen Computern erhalten? (Was ich unterzeichne, fxcop gibt Ihnen einige "Punkte" und für das, was ich gelesen habe, gibt es manchmal Diff-Punkte auf diff-Computern, ich weiß nichts davon mit Code-Analyse

Danke, jede Hilfe wäre willkommen

    
Luis 06.06.2012, 16:56
quelle

1 Antwort

9

FxCop und Code Analysis sind im Wesentlichen die gleichen, mit den folgenden Unterschieden:

  1. Code Analysis enthält eine VS IDE-Erweiterung. FxCop kann in der IDE ausgeführt werden und Ergebnisse anzeigen, aber das Ergebnis ist nicht so voll ausgestattet. Auf der anderen Seite enthält FxCop eine eigenständige Benutzeroberfläche, die mehr Funktionen in Bezug auf bestimmte Arten der Ergebnisermittlung bietet.
  2. Die Codeanalyse enthält mehr Regeln als FxCop. Ein Teil davon ist, weil es eine zusätzliche Regel-Engine enthält, aber ein Teil ist nur zusätzliche Regeln, für die Microsoft entschieden hat, dass wir bezahlen sollten. (Die zusätzlichen Regeln können von FxCop aus ausgeführt werden, wenn Sie die Ergebnisse in der eigenständigen FxCop-Benutzeroberfläche anzeigen möchten.)

Für jede gegebene Regel sollten Sie auf jedem Rechner genau die gleichen Ergebnisse sehen, unabhängig davon, welches der beiden Werkzeuge Sie verwenden. Die einzigen Fälle, in denen Sie Unterschiede sehen sollten, sind, wenn Sie keine Kultureinstellungen für die FxCop-Analyse angeben und die Systemkultur zwischen den Maschinen unterschiedlich ist.

    
Nicole Calinoiu 06.06.2012, 18:22
quelle