Powrót do bloga
Technology

Code review, co to takiego?

Autor Jakub Olech Managing Partner
Każdy programista na początku swojej drogi zawodowej, (choć zapewne i później) spotka się z pojęciem code review, czyli inspekcją czy też przeglądem kodu. Co jednak kryje się pod tą, dla wielu nieco straszną, nazwą? Najkrócej mówiąc, code review polega na sprawdzeniu całości kodu bądź jego fragmentu przez innego członka zespołu, zarówno pod względem ogólnej poprawności, jak i funkcjonalności. Przede wszystkim jednak praktyka ta pozwala na zastosowanie najlepszych z możliwych rozwiązań, co jest gwarancją powodzenia projektu, a o to właśnie chodzi! Niestety, niejednokrotnie zdarza się, że code review jest pomijane, ze względu na brak czasu i kolejne, niecierpiące zwłoki zadania do wykonania. Właśnie przez takie podejście traci cały zespół oraz jakość samego kodu. Dlatego mimo napiętych terminów, warto włączyć przegląd kodu do harmonogramu pracy nad oprogramowaniem. Jakie korzyści płyną z rzetelnie przeprowadzonego code review?

Praktyka dla przejrzystego kodu

Przede wszystkim code review stanowi gwarancję czystego i bezbłędnego kodu. To największy, lecz nie jedyny atut przemawiający za tą aktywnością. To również wspaniała możliwość rozwoju dla całego zespołu. Otrzymane wskazówki pozwalają osobie piszącej kod na poprawę błędów i uniknięcie ich w przyszłości. Dobrze, gdy code review wykonuje najbardziej doświadczony członek zespołu, na przykład team leader, ponieważ dzięki posiadanej wiedzy szybko dostrzeże ewentualne błędy i niedociągnięcia. Ponadto ktoś taki będzie mógł zaproponować lepsze, bardziej efektywne czy zwyczajnie prostsze rozwiązania. Jednak niekoniecznie musi to stanowić regułę!

Czasami nawet programista będący cenionym ekspertem w swojej dziedzinie, może czerpać wiedzę od młodszych kolegów i poznać godne uwagi nowości. W code review równie duże znaczenie, jak dokładność i skupienie przy sprawdzaniu fragmentów kodu, ma też świeże spojrzenie, a nawet inna perspektywa.

Korzyści dla całego zespołu

Czytanie kodu stworzonego przez inną osobę wymaga otwartości i akceptacji cudzego spojrzenia na daną kwestię. Pomaga jednocześnie zrozumieć, że inne rozwiązanie niekoniecznie jest gorsze, co więcej może okazać się nawet lepsze od dotychczas przez nas stosowanego. Podczas recenzowania kodu, istnieje szansa na poznanie nowych metod działania.

Ponadto, jeśli do kodu ma wgląd większość zespołu, jego członkowie mogą zapoznać się z elementami systemu, do których zazwyczaj nie mają dostępu. code review czyni projekt spójnym oraz pomaga w ustalaniu odpowiednich praktyk w pracy na projektem. Poświęcając czas na inspekcję kodu, większość pracowników zyskuje wiedzę o każdym etapie kodu oraz zdobywa pewność, że będzie on w pełni dopracowany, przejrzysty i na najwyższym poziomie.


Nie można jednak zapominać, że jest dość pracochłonny proces i osoba doskonale znająca się na swojej dziedzinie szybko poczuje znużenie, z kolei młody członek zespołu może nie mieć wystarczających kompetencji. Właśnie dlatego decydując się na inspekcję kodu, należy poszukiwać złotego środka i czerpać od każdego to, co najlepsze.


Code review nieodłącznym elementem pracy każdego programisty

Jak widać, code review ma niebagatelne znaczenie dla jakości tworzonego oprogramowania, a sprawdzenie wszystkich linii kodu stworzonych w danym projekcie może zadecydować o jego powodzeniu. Niestety niektórzy programiści unikają go z obawy przed krytyką. Należy jednak pamiętać, że konstruktywne uwagi wspomagają rozwój, a komentarze mogą być także pozytywne. Z kolei sam kod może stanowić inspirację i motywację dla innych członków załogi. Należy zatem pozbyć się strachu przed code review i nie bać się oceny własnej pracy. Podsumowując, jest to praktyka, która podnosi kompetencje całego zespołu, usprawnia pisanie kodu w przyszłości, usprawnia pracę i oczywiście pomaga w uniknięciu pomyłek.

Jakub Olech
Managing Partner
Kuba łączy wiedzę z zakresu ekonometrii i technologii informacyjnych z zainteresowaniem analizą biznesową oraz statystyką. Jego zdolności analityczne mają istotny wpływ na strategiczne decyzje.
Udostępnij

Pomożemy Ci osiągnąć cele biznesowe

Pomożemy Ci osiągnąć cele biznesowe

Porozmawiajmy o Twoich wyzwaniach
Podobne artykuły

Wady i zalety gotowych systemów CRM
Systemy CRM (Customer Relationship Management) stanowią podstawę skutecznego zarządzania relacjam...
6 najważniejszych kryteriów wyboru dostawcy IT
Współpraca z zewnętrznymi dostawcami rozwiązań IT stała się integralną częścią strategii wielu pr...
Wpływ interfejsu i doświadczenia użytkownika na produkt
Mamy na co dzień dostęp do niezliczonych aplikacji i stron internetowych, dlatego interfejs użytk...