7. Code Review
7.1. Rationale
Systemy do Code Review, ich wady i zalety
Code Review blokujące, nieblokujące i post-factum
Unified diff vs side-by-side
Komentarze: co komentować, jak politycznie komunikować problem
Feed-forward a nie feedback
Taski: blokowanie zmian
Commit zmieniający linię, gdzie był komentarz, w wielu systemach powoduje ukrycie komentarza, bo jest to traktowane jako rozwiązanie dyskusji
Liczba linii w Code Review
Pair programming vs Code Review
Dobre praktyki Code Review
Code Review robiony zdalnie, gdzie autor prezentuje zmiany, a ludzie mogą się podpytać jest najskuteczniejszy w przekazywaniu informacji i budowaniu wiedzy zespołu
Czy cały kod musi być poddawany Code Review?
Kogo zapraszać do Code Review?
Normalnie nie zapraszamy Frontendowców i mobilnych, chyba że zmiana dotyczy API dla nich
Code review default reviewers problem
Skuteczność notyfikacji, ale tylko wtedy, kiedy ktoś nie jest zalewany bo należy default reviewer
Czy Product Owner powinien być w Code Review?
Co oznacza akceptacja Code Review?
Czytelność wyrażeń regularnych
>>> scheme = r'(?:(?<scheme>[^:/?#]+):)?'
>>> authority = r'(?://(?<authority>[^/?#]*))?'
>>> path = r'(?<path>[^?#]*)'
>>> query = r'(?:\?(?<query>[^#]*))?'
>>> fragment = r'(?:#(?<fragment>.*))?'
>>>
>>> pattern = f'^(?=[^&]){scheme}{authority}{path}{query}{fragment}'
>>>
>>> print(pattern)
^(?=[^&])(?:(?<scheme>[^:/?#]+):)?(?://(?<authority>[^/?#]*))?(?<path>[^?#]*)(?:\?(?<query>[^#]*))?(?:#(?<fragment>.*))?
7.2. Pair Programming
Pair Programming to Code Review prowadzone w realtime
Code with Me
Zabrać ze sobą notatnik, pisać temat dyskusji i numer linii i nazwę pliku / klasy / metody
Nie stosować Pair Programming by default (nawet do prostych rzeczy)
Zostawić to tylko trudnych miejsc w kodzie i problemów o dużym impakcie
Stratą dla firmy jest jak dwóch koderów siedzi i dobiera kolorki i odcienie tekstu w HTML
7.3. Use Cases
CR dla IaaS
CR dla programów szkoleń
CR dla książki astro