Czym powinno zakończyć się dobre Code Review?
Ostatnio zastanawiałem się czym charakteryzuje się dobre Code Review. Jak powinno wyglądać jego zakończenie? Co powinno znajdować się na końcu drogi, zwanej po Polsku, inspekcją kodu? Podczas każdego rewju możesz zdobyć dwa trofea. Pierwszy z nich zostaje u Ciebie w głowie, a drugi pozostawiasz w kodzie źródłowym dla całego zespołu.
Bądź egoistą
Nie traktuj tej czynności, jako altruistycznej pomocy dla innego programisty. Wręcz przeciwnie! Rób to dla siebie, a podczas Code Review bądź samolubny. Ponieważ istnieje niezerowe prawdopodobieństwo że to właśnie Ty będziesz musiał coś w tym kodzie zmieniać. Zatem z perspektywy Twojej, jak i zespołu jako całości, najważniejsze jest, aby ten kod był jak najprostszy a zarazem najłatwiejszy do zrozumienia.
Zrozum
Skoro już ustaliliśmy, że powinieneś zadbać o swój święty spokój. To pierwszą i najważniejszą rzeczą, jaką musisz zrobić to zrozumienie przeglądanego kodu. Skoro masz obok siebie autora, to drąż, pytaj i dociekaj. Jeżeli jest taka potrzeba to bądź upierdliwy. Ten moment jest najlepszą okazją, na wykorzystanie czasu i wiedzy autora. W celu wytłumaczenia, zarówno sensu pojedynczej linii kodu, jak i kontekstu całego rozwiązania. Jeżeli uda Ci się zrozumieć kod i zamysł autora to pierwsze trofeum będzie Twoje.
Pomóż zrozumieć innym
O ile zrozumienie kodu jest celem dość dobrze określonym. Tak zdobycie drugiego artefaktu, jakim jest łatwiejszy do zrozumienia kod, nie jest już tak jednoznaczne. Powinien on powstawać podczas całej drogi do celu pierwszego. Kiedy napotkasz problem ze zrozumieniem czegoś. Istnieje duża szansa, że w przyszłości ktoś też zatrzyma się przy tej samej linii kodu. Tyle, że on może mieć mniej szczęścia niż Ty i zabraknie mu autora pod ręką. W takim razie będzie musiał poświęcić czas na ponowną analizę. W takiej sytuacji najlepszym rozwiązaniem jest utorowanie drogi dla następnych programistów poprzez poprawę czytelności kodu. Może to być zarówno mała zmiana nazwy zmiennej, czy rozbicie na mniejsze klasy. Ale również coś większego, jak przeprojektowanie, czy refaktoring.
W tym poście skupiłem się na tym, co według mnie powinno kierować Rewjułerem, aby uzyskać najlepszą wartość dla zespołu, autora i samego siebie . Zgadzasz się, czy uważasz, że jest coś ważniejszego? A może czasem, podczas Review, czujesz, że coś powinieneś poprawić, ale nie masz pomysłu jak to ulepszyć. W celu zaczerpnięcia inspiracji jak można poprawiać kod zapraszam do mini cyklu „Jak refaktorować„.
0 Komentarzy