Pytajcie w trakcie na chacie - odpowiemy async po skończonych sekcjach
it's better to ask forgiveness than permission
projekty gdzie dostarcza się business value, a nie security critical - różne części kodu będą miały różne wymagania w Code Review
zespoły same się organizują
DEMO
PrefixLocalCallsWithThis - przykład że coś trzeba wybrać i się stosować.
... w dowolną stronę (z thisem, albo bez thisa)
Kolega ustawił indentation na 2 spacje - nigdy w życiu nie miałem takiego ustawienia. Ale dzięki temu że jest to wymuszone to nie narzekam i się przyzwyczaiłem (chociaż przeformatowało cały projekt)
3 kawałki:
Przykład: wymóg aby wszystkie kolekcje były niemutowalne w C# (IReadOnlyCollection<>)
Wy sami wiecie co odpuścić. Zachęcam żeby czasem odpuszczać.
Nie oceniamy osoby, merytorycznie opisujemy problem.
Proponujemy możliwe rozwiązania.
W CR nie tylko doszukujemy się potencjalnych problemów, dostrzegamy i doceniamy również to co ktoś napisał elegancko ;)
Czy wymóc dostosowanie się? Jak zwykle - to zależy.
Jaki jest impact?
Najlepiej dla konwencji również mieć przygotowany automat, np. obiekty domenowe muszą być w projekcie kończącym się na Domain.
Przykłady gdzie warto się zastanowić
Przemyśleć sobie czy da nam to więcej zysku niż zainwestowany w to czas.
DEMO
☺ Jeden branch długo-żyjący
☹ Wiele branchy długo-żyjących
Da się wyciągnąć informację z historii, ale jest to trudne, czasami bardzo trudne.
Gdy feature branche są bardzo małe, da się coś wyciagnąć z historii, ale stosunkowo niewiele.
Ważna wiedza spoczywa poza repo - w zewnętrznym narzędziu.
Historia jest przejrzysta, można wyciągnąć z niej bardzo dużo.
Tracimy informacje o pullrequestach i 'zarys', które commity były w ramach jednego feature brancha.
Historia jest przejrzysta, można wyciągnąć z niej wszystko.
Wszelkie zmiany możliwe tylko przez PR.
Polecane nawet, gdy pracujesz z samymi seniorami-wymiataczami,
a nawet gdy prowadzisz dany projekt samemu.
Minimum 1 wymagany approve (ale nie kliknięty przez siebie samego).
Ja polecam: wymagany 1 approve od kogoś z grupy Developers i 1 approve od kogoś z grupy Testers.
Gdy zmienione są pliki ze wskazanej ścieżki, wymagany dodatkowy approve od użytkownika ze specifycznej grupy/roli. Przykładowo:
src/data-processing/*
wymagany dodatkowy approve z grupy Performance specialistsrc/core-engine/*
wymagany dodatkowy approve z grupy Senior developersrc/ssl-library/*
wymagany dodatkowy approve z grupy Security specialist
push --force-with-lease
. Często też robimy git fetch && git rebase origin/master
.
Prezentacja, na którą właśnie patrzysz, istnieje równiez w formie pdfa, niestety za pośrednictwem platformy webinarowej nie ma jak jej wysłać.
Jeżeli chciałbyś/chciałabyś ją sobie zachować, napisz do nas na kontakt@GitWarsztaty.pl i ją podeślemy.