~~REVEAL~~
====== Analiza kodu w Resharper ======
{{ :zajecia:znd_2014_1:resharper-log.png?400 |}} \\
The most intelligent extension for Visual Studio\\
===== =====
* 1700 reguł dla C#, VB.NET, XAML, XML, ASP.NET, ASP.NET MVC, JavaScript, TypeScript, HTML, CSS (R# 10.0.2)
* inspekcja kodu na żywo, //quick fixes//
* podział na błędy (//errors//), ostrzeżenia (//warnings//), wskazówki (//suggestions//, //hints//)
* inspekcja całego projektu/rozwiązania
* konfiguracja priorytetów błędów oraz możliwość definiowania własnych reguł
* śledzenie wywołań metod oraz zmian wartości zmiennych
* //inspect this//
===== Inspekcja kodu =====
| błędy | ostrzeżenia | wskazówki (//code smells//) |
| {{ :zajecia:znd_2014_1:bledy.png?300|}} | {{ :zajecia:znd_2014_1:martwy_kod.png?300| }} | {{:zajecia:znd_2014_1:wskazowki.png?300| }} |
\\
''Alt + Enter'' szybka naprawa
===== =====
Belka z zaznaczonymi problemami: ostrzeżenia, błędy, status pliku
{{ https://www.jetbrains.com/resharper/features/screenshots/20161/marker_bar.png |}} \\
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
''F12'' przejście do następnego problemu, \\
''Shift + F12'' powrót do poprzedniego problemu \\
''Alt + Enter'' szybka naprawa
===== =====
Bogata możliwość konfiguracji zachowania oraz dodawania własnych reguł
| {{ :zajecia:znd_2014_1:inspekcja_wiecej_opcji.png?500 |}} | {{ https://www.jetbrains.com/resharper/features/screenshots/100/solution-wide_inspections.png }} |
**Resharper -> Oprions -> Code Inpection -> Inspection Severity**
===== Wykrywanie błędów i ostrzeżeń bez kompilacji =====
**Solution-Wide Analysis**
{{ https://www.jetbrains.com/resharper/features/screenshots/100/errors_in_solution.png }}
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
===== Inspekcja całego projektu =====
** Inspect -> Code Issues in Solution/Project**
{{ https://www.jetbrains.com/resharper/features/screenshots/100/find_code_issues.png }}
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
===== Automatyczne czyszczenie kodu =====
**Resharper -> Tools -> Cleanup Code** (''Ctrl + Alt + F'')
{{ :zajecia:znd_2014_1:cleanup_window.png?400 |}}
===== Śledzenie wywołań metod (Call tracking) =====
**ReSharper -> Inspect -> Outgoing Calls** \\
**ReSharper -> Inspect -> Incoming Calls**
{{ https://www.jetbrains.com/resharper/features/screenshots/100/call_tracking.png }}
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
===== Śledzenie wartości zmiennych =====
**ReSharper -> Inspect -> Value Origin** \\
**ReSharper -> Inspect -> Value Destination**
{{ https://www.jetbrains.com/resharper/features/screenshots/100/value_tracking.png }}
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
===== Inspect this =====
{{ https://www.jetbrains.com/resharper/features/screenshots/100/inspect_this.png }}
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
''Ctrl + Shift + Alt + A'' \\ jeden skrót do analizy kodu, nawigacji, śledzenia wywołań, śledzenia wartości zmiennych, badania hierarchii typów
===== Command line tools =====
* [[https://www.jetbrains.com/resharper/features/command-line.html|Darmowe narzędzia konsolowe]]
* dupFinder
* InspectCode
{{https://www.jetbrains.com/resharper/features/screenshots/80/command_line.png}}
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
===== Integracja z VSTS =====
[[https://marketplace.visualstudio.com/items?itemName=alanwales.resharper-code-analysis|Resharper Code Quality Analysis]] darmowe rozszerzenie
{{ https://alanwales.gallerycdn.vsassets.io/extensions/alanwales/resharper-code-analysis/1.0.60/1474455260769/Images/taskconfiguration.png }}
//Źródło: [[https://alanwales.gallerycdn.vsassets.io/]]//