Edytuj stronę Odnośniki Fold/unfold all ODT export Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić. ====== 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|Resharper]] również przeprowadza analizę kodu automatycznie w trakcie edycji programu (ponad 1400 reguł!) ===== Wykrywane wady ===== * wytyczne [[http://msdn.microsoft.com/en-us/library/ms229042%28v=vs.110%29.aspx|.NET Framework Design Guidelines]] * konwencja nazewnicza * zwalnianie zasobów * konstrukcja bibliotek * lokalizacja * wydajność * bezpieczeństwo, np. SQL Injection * MSDN [[http://msdn.microsoft.com/en-us/library/ms182296.aspx|Security Warnings]] ===== FxCop w VS ===== * **Build -> Run Code Analysis** {{ :zajecia:znd_2014_1:fxcop_window.png?300 |}} ===== Wybór reguł ===== * Wybór zestawu reguł: **Project -> Propoerties -> Common Properties -> Code Analysis Settings** {{ :zajecia:znd_2014_1:fxcop_config.png?400 |}} | ===== Aplikacja konsolowa ===== * ''C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop\'' * silniki wyszukiwania: ''FxCop\Engines'' * reguły: ''FxCop\Rules'' * ''Rule Sets'' pliki XML z regułami dla projektów * [[http://msdn.microsoft.com/en-us/library/bb429449%28v=vs.80%29.aspx|Opcje aplikacji konsolowej]] ===== Ćwiczenia ===== - Zaloguj się do projektu zespołowego ''Figury'' na serwerze TFS - Przeprowadź analizę kodu - Spróbuj naprawić niektóre błędy - Utwórz zgłoszenia związane z komunikatem wygenerowanym przez analizę - Dodaj do kodu atrybut powodujący pomijanie jednego z ostrzerzeń ===== Więcej informacji ===== * [[http://sekurak.pl/statyczna-analiza-bezpieczenstwa-kodu-aplikacji-czesc-3-fxcop/|Statyczna analiza bezpieczeństwa kodu aplikacji — FxCop]] by Adrian “Vizzdoom” Michalczyk * [[http://www.codeproject.com/Articles/78599/How-to-Use-FxCop|How to use FxCop]] by Anil_Saran * [[http://msdn.microsoft.com/en-us/library/bb429476%28v=vs.80%29.aspx|FxCop MSDN]] * [[http://www.microsoft.com/en-us/download/details.aspx?id=6544|FxCop 10.0 download]] * [[wp>FxCop]] Wikipedia