Statyczna analiza kodu - FXCop
FxCop
darmowe narzędzie firmy Microsoft do statycznej analizy kodu .Net.
wbudowane w VS Premium/Ultimate, dostępne w Windows SDK
analizuje kod pośredni, a nie kod źródłowy
wykrywa ponad 200 różnych defektów
możliwość definiowania własnych reguł
narzędzie konsolowe oraz
GUI (w starszych wersjach)
wtyczka
Resharper również przeprowadza analizę kodu automatycznie w trakcie edycji programu (ponad 1400 reguł!)
Wykrywane wady
-
konwencja nazewnicza
zwalnianie zasobów
konstrukcja bibliotek
lokalizacja (GlobalizationRules)
wydajność
bezpieczeństwo, np. SQL Injection
DataFlow (przepływ danych)
-
FxCop w VS
Wybór reguł
Wyłączanie ostrzeżeń
[SuppressMessage("Microsoft.Design", "CA1039:ListsAreStrongTyped")]
public class MyClass
{
}
[module: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "MyNamespace")]
TFS i analiza kodu
Check-in Policies
Wymuszenie analizy przed zatwierdzeniem zmian: Team Project Settings → Source Control → Check-in Policy → Add
Enforce check-in to only contain files that are part of current solution.
Enforce C/C++ Code Analysis (/analyze)
Enforce Code Analysis for Managed Code
Można wybrać wybrane grupy reguł
Enable Code Analysis on Build - można wymusić też analizę przy każdej kompilacji lokalnie lub na serwerze buildów (TFS)
Tworzenie zadań z wykrytych błedów
Aplikacja konsolowa
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop\