Szkolenie: XP: Code Review i dobre praktyki inżynieryjne
Szkolenie z Extreme Programming i Code Review to praktyczny kurs inżynierii oprogramowania, który uczy skutecznej analizy kodu, automatyzacji procesu Code Review, wdrażania dobrych praktyk developerskich oraz zapewniania wysokiej jakości kodu w zespołach programistycznych
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:2 dni (16h)
Kod kursu:XP/CR
XP: Code Review i dobre praktyki inżynieryjne
Cele szkolenia
Szkolenie przygotowuje do samodzielnego przeprowadzania Code Review oraz identyfikowania i komunikowania problemów w kodzie w zespole programistycznym
Szkolenie uczy stosowania dobrych praktyk inżynieryjnych, automatyzacji procesu Code Review oraz wdrażania narzędzi wspierających jakość kodu
Szkolenie rozwija umiejętność analizy kodu źródłowego, rozpoznawania długów technicznych i wdrażania efektywnych strategii pracy z repozytoriami
Dla kogo?
Inżynierowie oprogramowania z doświadczeniem w programowaniu i pracy zespołowej, chcący podnieść jakość kodu
Team leaderzy oraz architekci odpowiedzialni za wdrażanie dobrych praktyk i procesów Code Review w projektach IT
Inżynierowie jakości oraz osoby zajmujące się automatyzacją testów i zapewnianiem jakości w cyklu wytwarzania oprogramowania
Efekty kształcenia
Uczestnik analizuje i ocenia jakość kodu źródłowego w projektach zespołowych
Uczestnik stosuje narzędzia automatyzujące proces Code Review i kontrolę jakości
Uczestnik rozpoznaje i komunikuje problemy techniczne w kodzie
Uczestnik wdraża dobre praktyki inżynieryjne w codziennej pracy developerskiej
Uczestnik planuje i realizuje strategie pracy z branchami i repozytoriami
Uczestnik wykorzystuje statyczną analizę kodu do poprawy jakości oprogramowania
Wymagania
Dobra znajomość programowania w dowolnym języku programowania
Znajomość paradygmatu obiektowego
Umiejętność korzystania z systemu kontroli wersji Git
Praktyczna wiedza z zakresu tworzenia testów automatycznych
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Praktyki developerskie a praktyki projektowe
Praktyki projektowe (Scrum, Kanban, XP, Lean)
Praktyki developerskie (TDD, S.O.L.I.D., CI/CD, Code Review/Pull Request, DevOps)
Feature i bugfix branch
Git, Github Flow i Git Flow
Strategia budowania branchy
Statyczna analiza kodu Pull Requestów
Strategie repozytoriów: Fork, Central Repo, Army model
Praktyka
Spaghetti code
Zależności w kodzie i między modułami
S.O.L.I.D.
TDD: test first vs test last development
Czym w praktyce jest dług techniczny
Ekosystem narzędziowy
Refactoring legacy systemów
Budowanie bazy wiedzy jako wynik Code Review
Code Review jako element Collective Code Ownership
FAQ
Kto powinien być zaangażowany w Code Review?
Ile czasu poświęcić na Code Review?
Czy Code Review jest potrzebne przy TDD?
Jak wielkość elementów w backlog wpływa na Code Review?
Jak uniknąć wąskiego gardła w postaci Code Review?
Czy zawsze należy robić Code Review?
Czy można zautomatyzować proces Code Review?
Na co warto zwrócić uwagę w Code Review?
Jakiej wielkości zmiany poddawać Code Review?
Jak komunikować problem z kodem?
Jak blokować scalenie kodu, który zawiera błędy?
Jak robić Code Review na żyjącym branchu?
Notyfikacje i jak pozostać na bieżąco ze zmianami?
Jak unikać silosów kompetencyjnych za pomocą Code Review?
Code Review
Systemy do Code Review, ich wady i zalety
Unified diff vs side-by-side
Komentarze i taski
Pair programming vs Code Review
Pull Request vs Merge Request
Dobre praktyki Code Review
Rozwiązywanie konfliktów w systemie kontroli wersji
Składnia Markdown i reStructuredText
Podstawy optymalizacji i wydajności systemów
Złożoność obliczeniowa
Złożoność pamięciowa
Złożoność cyklometryczna
Złożoność kogitywna
Dług techniczny
Automatyzacja Code Review
Włączenie procesu CI/CD do Code Review
Statyczna analiza kodu źródłowego
Pipeline as a Code
Quality Gates
Triggerowanie statusów w Jira
Strategie scalania zmian (merge, rebase, squash+merge, squash+rebase)
Jakość kodu
SonarQube, SonarCloud i SonarLint
Wyciąganie wniosków z analizy statycznej
Quality Gates
Mierzenie pokrycia testami
Testy mutacyjne
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi