View page as slide show

Statyczna analiza kodu - 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ł!)
  • Build → Run Code Analysis

  • Wybór zestawu reguł: Project → Propoerties → Common Properties → Code Analysis Settings

  • Wyłączanie ostrzeżeń danego typu Actions → Suppress Message → In Source / In Project Suppression File
    • w pliku (In Source)
    • dla całego projektu (In Project Suppression File)
  • Atrybut SuppressMessage
[SuppressMessage("Microsoft.Design", "CA1039:ListsAreStrongTyped")]
public class MyClass
{
}
[module: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "MyNamespace")]
  • 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
    • Code Analysis → Actions → Create Work Item
    • Error List → Create Work Item

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop\