~~NOCACHE~~
~~REVEAL theme=simple&size=1024x800~~
====== Analiza kodu w ReSharper ======
{{zajecia:znd_2014_1:resharper-log.png?400|}}
===== =====
* 2200 reguł dla C#, VB.NET, XAML, XML, ASP.NET, ASP.NET MVC, JavaScript, TypeScript, HTML, CSS
* 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//
* osobna aplikacja konsolowa do analizy kodu
===== Analiza kodu w edytorze =====
{{zajecia:znd_2020_1:code_analysis_sample.png?800}}
* ''Alt + Enter'' - szybka naprawa (// Quick Fix//) \\ ponad 1200 możliwych akcji naprawy
===== Rodzaje zgłoszeń =====
| błędy \\ //errors// | ostrzeżenia \\ //warnings// |
|{{zajecia:znd_2020_1:errors.png?500|}}|{{zajecia:znd_2020_1:warrnings.png?500|}}|
| wskazówki \\ //hints// | sugestie \\ //suggestions// |
|{{zajecia:znd_2020_1:hints.png?500|}}|{{zajecia:znd_2020_1:suggestion.png?500|}}|
===== Znaczniki w pasku przewijania =====
| ''F12'' | przejście do następnego problemu, |
| ''Shift + F12'' | powrót do poprzedniego problemu |
{{zajecia:znd_2020_1:navigate_between_inspections.png|}} \\
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
===== Konfiguracja reguł =====
Bogata możliwość konfiguracji zachowania oraz dodawania własnych reguł
|{{zajecia:znd_2020_1:code_inspection_configuring.png?500|}}|{{zajecia:znd_2020_1:solution-wide_inspections.png?500}} |
**Resharper -> Options -> Code Inpection -> Inspection Severity**
===== Wykrywanie błędów i ostrzeżeń bez kompilacji =====
**Solution-Wide Analysis**
{{zajecia:znd_2020_1:errors_in_solution.png}}
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
===== Inspekcja kodu ====
* ** ReSharper -> Inspect -> Code Issues in Solution**
{{zajecia:znd_2020_1:find_code_issues.png?800|}}
===== Automatyczne czyszczenie =====
**Resharper -> Tools -> Cleanup Code** \\ ''Ctrl + Alt + F''
{{zajecia:znd_2020_1:code_cleanup_config.png?800|}}
===== Śledzenie wywołań metod =====
**ReSharper -> Inspect -> Outgoing Calls** \\
**ReSharper -> Inspect -> Incoming Calls**
{{zajecia:znd_2020_1:call_tracking.png?800}}
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
===== Śledzenie wartości zmiennych =====
**ReSharper -> Inspect -> Value Origin** \\
**ReSharper -> Inspect -> Value Destination**
{{zajecia:znd_2020_1:value_tracking.png?800}}
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
===== Inspect this =====
''Ctrl + Shift + Alt + A'' \\ akcje inspekcji zależne od kontekstu, śledzenia wywołań, śledzenia wartości zmiennych, badania hierarchii typów
{{zajecia:znd_2020_1:inspect_this.png}} \\ //Źródło: [[www.jetbrains.com/resharper/features/screenshots]] //
===== Command line tools =====
* [[https://www.jetbrains.com/resharper/features/command-line.html|Darmowe narzędzia konsolowe]] do inspekcji kodu
* dupFinder
* InspectCode
* Windows/Linux/Mac OS
{{zajecia:znd_2020_1:dotnet-cleanup-no-parameters.png?500}}
//Źródło: [[www.jetbrains.com/resharper/features/screenshots]]//
===== Integracja z Azure DevOps =====
[[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/]]//