XP: Code Review i dobre praktyki inżynieryjne

Czas trwania szkolenia:2 dni (16h)

Kod kursu:XP/CR

Poziom zaawansowania:
extreme-programmingcode-review

Szkolenie na zamówienie

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Zapytanie o szkolenie

O szkoleniu XP: Code Review i dobre praktyki inżynieryjne

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

Dla kogo?

  • Inżynierowie oprogramowania
  • Inżynierowie jakości
  • Team-leaderzy
  • Architekci

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

Zalety

  • Dostrzeganie problemów w kodzie
  • Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
  • Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
  • Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how

Cele szkolenia

  • Skuteczna komunikacja problemów z kodem w zespole
  • Analiza kodu źródłowego i skupianie się na najważniejszych problemach
  • Interakcja z systemem Code Review
  • Automatyzacja wspierająca Code Review

Program

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

Podobne szkolenia