2008-12-18 33 views
8

FxCops ist etwas neues für mich, aber wie immer würde ich gerne die neuen Dinge kennen lernen .. Von was ich gelesen habe, ist FxCops bereits in VS2008 enthalten. Ich denke, es ist die "Code Analysis" -Funktion. Jedes Mal, wenn ich versuche, es auszuführen, scheint es einen Neuaufbau zu starten und im Zustand "Finished Rebuilding" zu enden.
Ich überprüfte das Ausgabefenster und es gibt eine Reihe von Warnungen dort. Aber wenn ich das nicht irre, sollte es mehr von einer GUI dafür geben als die Textwand in meinem Ausgabefenster, oder?
Fehle ich ein Fenster, das aufgetaucht sein sollte? Kann ich es irgendwo öffnen? Oder gibt es noch etwas, das ich vermisse?Code Analyse/FxCop in VS2008

Antwort

3

Ja, Code Analysis ist der nette und freundliche Name für FxCop. Ich bin mir jedoch nicht bewusst, dass neben der Fehler-/Warnliste ein freundliches Fenster angezeigt wird, in dem sie angezeigt werden sollten, mit dem Präfix CA.

Auf dem Bildschirm Projekteigenschaften gibt es eine Registerkarte Codeanalyse, in der Sie Warnungen als Fehler behandeln können, um die Regeln durchzusetzen, die Ihnen wichtig sind.

+0

Ich sehe, ich habe nicht auf die Registerkarte "Warnungen" geachtet, da es normalerweise nur mit "fehlenden CSS-Klassen" übersät ist. Welches ist eine nicht-funktionale Warnung zu beginnen (VS findet nicht die Hälfte Ihrer CSS-Dateien und nicht alle Klassen sind für CSS) –

+0

Ich finde auch das nervig aber, wenn Sie CSS-Klassen haben, die nur zum Markieren der HTML verwendet werden statt eine Formatierung vorzunehmen, warum sollte man keine leere CSS-Regel hinzufügen (In einem Abschnitt, der kommentiert wird, um den Grund dafür zu erklären, dass die Regeln leer sind) – belugabob

1

Eine Alternative zu FxCop wäre das Werkzeug NDepend zu verwenden, die Code Rules over C# LINQ Queries (namely CQLinq) kann schreiben. NDepend ist in VS 2012, 2010 und 2008 integriert. Haftungsausschluss: Ich bin einer der Entwickler dieses Tools

Mehr als 200 code rules sind standardmäßig vorgeschlagen. Das Anpassen vorhandener Regeln oder das Erstellen eigener Regeln ist dank der bekannten C# LINQ-Syntax problemlos möglich.

NDepend Coderegeln können verifiziert werden live in Visual Studio und zur Build-Prozesszeit, in einem generated HTML+javascript report.

Sie scheint von der Anzahl der falsch-positiven betroffen. Um die Anzahl der False-Positives niedrig zu halten, bietet CQLinq die einzigartigen Möglichkeiten, zu definieren, was JustMyCode durch spezielle Codeabfragen mit Präfix notmycode ist. Weitere Erläuterungen zu dieser Funktion finden Sie unter here. Hier sind zum Beispiel zwei notmycode Standardabfragen:

Damit die Zahl der falsch-positive niedrig, mit CQLinq können Sie auch Regeln konzentrieren führen nur auf Code hinzugefügt oder Code refaktoriert, da eine definierte baseline in the past. Siehe die folgende Regel, die Methoden erkennen zu komplex hinzugefügt oder überarbeitet, da die Basislinie:

warnif count > 0 
from m in Methods 
where m.CyclomaticComplexity > 20 && 
     m.WasAdded() || m.CodeWasChanged() 
select new { m, m.CyclomaticComplexity } 
+0

klingt interessant. Könnte das meinem Boss –

2

Nur damit jeder weiß, weil es mir dauerte eine lange Zeit, das herauszufinden ....Code Analysis/FxCop ist nur in Team System und Team Suite Versionen von VS 2008 enthalten, nicht in der Professional Edition.

+0

vorschlagen, aber habe eine eigenständige Version – Avram

+0

Dank Avram konnte ich Version 1.36 von FxCop als eigenständige Anwendung finden. Vorsicht bei der Suche, Leute, denn die Beta zeigt sich tatsächlich höher in den Google-Ergebnissen. –