Jeśli planujesz zostać programistą, nie będziesz tylko tworzyć oprogramowania, ale będziesz również poproszony o przeglądanie kodu swoich kolegów. Code review jest niezbędnym przejściem do poprawy jakości kodu, a co za tym idzie, jakości oprogramowania, które tworzysz. Ma też inne zalety, jak zmniejszenie kosztów rozwoju i wyłapywanie błędów na wczesnym etapie procesu. To także okazja do nauki, dzielenia się i doskonalenia swoich umiejętności.
Czym jest code review?
Code review to akt świadomego sprawdzania fragmentów kodu pod kątem błędów i usterek. W końcu kodowanie jest działalnością człowieka, a więc jest pełne błędów. Code review może być przeprowadzany przez narzędzia/oprogramowanie do code review oraz przez ludzi. Jeśli przegląd kodu przeprowadza ludzki programista, ważne jest, aby osoba, która sprawdza i testuje kod nie była tą samą osobą, która napisała kod w pierwszej kolejności. To dlatego ty, jako programista, możesz zostać poproszony o przejrzenie kodów, które napisali twoi koledzy. Jest to również powód, dla którego ważne jest, abyś wiedział, jak działa proces przeglądu kodu.
Aby uprościć proces przeglądu kodu, programiści często używają listy kontrolnej: listy rzeczy, które chcą sprawdzić podczas procesu. Posiadanie listy kontrolnej przeglądu kodu pomaga recenzentowi kodu nie nadzorować żadnego aspektu i sprawdzać każdy szczegół.
Znaczenie code review
Czy przegląd kodu jest tak ważny? Czy możemy mieć oprogramowanie do przeglądu kodu, które wykona pracę za nas? Narzędzia do przeglądu kodu mogą dać świetną rękę, ale - jak to się dzieje w każdym innym kontekście - ludzie zawsze mogą zauważyć rzeczy, które maszyny przegapią. Co więcej, możliwość przyjrzenia się pracy kolegi daje szansę na poprawienie własnych umiejętności i nauczenie się kilku sztuczek. Z drugiej strony, gdy masz swoje recenzje kodu od kolegi, możesz uzyskać cenne informacje zwrotne i wskazówki dotyczące poprawy.
Code review zawsze poprawia końcowe wyniki: jest to, ogólnie rzecz biorąc, szansa na poprawienie swojego kodu, a tym samym jakości oprogramowania lub aplikacji, którą budujesz. Jak już wspomnieliśmy, code review pomaga wychwycić błędy na wczesnym etapie procesu rozwoju: może to zmniejszyć czas i koszty samego procesu rozwoju. Jak widzimy, nie ma żadnych minusów przeglądu kodu. Nadszedł czas, abyśmy omówili, jak to zrobić.
Monetyzuj swoje umiejętności w zakresie code review
Jednym z głównych powodów, dla których chcesz nauczyć się prowadzić proces code review, jest to, że możesz otrzymać za to wynagrodzenie. Przeglądy kodu rzadko są darmowe: jeśli masz znajomego programistę, który również pracuje nad projektem, możesz zostać recenzentem kodu.
Jest to jedyna okoliczność, w której możesz mieć nadzieję, że Twój kod zostanie przejrzany za darmo: przy każdej innej okazji będziesz musiał zatrudnić innego programistę (zewnętrznego lub poprzez dodanie jednego członka do zespołu programistów). Jeśli spojrzymy na to z przeciwnego punktu widzenia, będąc deweloperem, przegląd kodu to szansa na pracę dla Ciebie!
Jak przeprowadzić code review
Przygotuj się do przeglądu kodu
Zanim zaczniesz przeglądać kod, chcesz się upewnić, że masz wszystkie informacje potrzebne do zakończenia procesu. Rozpoczęcie przeglądu bez znajomości kontekstu, tego nad jaką aplikacją lub oprogramowaniem pracuje deweloper, jakie ma główne wątpliwości i jakie są jego priorytety sprawi, że twoja praca będzie nieefektywna, a ty ryzykowałbyś utknięcie w połowie procesu.
Aby uniknąć konieczności zatrzymywania się w połowie drogi, aby skontaktować się z autorem kodu i poprosić o informacje, upewnij się, że pytasz o wszystko z wyprzedzeniem:
- Jaki rodzaj oprogramowania jest tworzony
- Jaki jest cel
- Jaki jest kontekst
- Jakie są priorytety autora (estetyka? wydajność?).
Ponadto, przed rozpoczęciem procesu przeglądu kodu, możesz uruchomić test, aby głębiej zrozumieć, jak działa kod i mieć pierwszy ogólny pogląd na możliwe błędy.
Lista kontrolna przeglądu kodu
Właściwy proces przeglądu kodu zaczyna się teraz. Jak już wspomnieliśmy, wszyscy programiści prowadzący code review używają list kontrolnych, aby upewnić się, że sprawdzają i testują wszystkie aspekty, które muszą być sprawdzone i przetestowane.
De-bug
Numerem 1 na twojej liście kontrolnej przeglądu kodu jest zawsze debugowanie. Jak widzieliśmy, istnieje wiele powodów, dla których chcesz przeprowadzić code review, ale z pewnością debugowanie i usuwanie wszystkich problemów jest twoim priorytetem.
Błędy mogą pochodzić z błędnie wpisanych zmiennych, parametrów w złej kolejności i innych prostych błędów; autor kodu zwykle nie jest w stanie ich zauważyć, ponieważ jest zmęczony i ponieważ przeszedł przez ten kod w kółko (to ten sam powód, dla którego autor tekstu nie jest osobą, która powinna sprawdzać literówki!).
Tak więc, pierwszą rzeczą, którą chcesz wykreślić ze swojej listy kontrolnej przeglądu kodu jest de-bug (możesz również użyć narzędzi programowych do debugowania w tym momencie, ale upewnij się, że również przejrzysz kod na własne oczy; jest to również szansa na pierwsze spojrzenie na cały kod i zrobienie sobie ogólnego pierwszego wrażenia).
Bezpieczeństwo
Podczas code review, programiści testują również bezpieczeństwo kodu, więc jest to numer dwa na liście kontrolnej code review, ponieważ jest to również uważane za priorytet. Na tym etapie chcesz uruchomić testy sprawdzające wiele podatności: niektóre wtyczki robią to automatycznie, a Ty chcesz użyć więcej niż jednej z nich.
Czytelność kodu
Kiedy sprawdzasz czytelność kodu, analizujesz, czy kod jest samowystarczalny, czy jest jasny i zwięzły oraz czy przestrzegane są wszystkie konwencje językowe i projektowe. Jeśli nad kodem pracował zespół programistów, chcesz również przejrzeć i upewnić się, że wszyscy członkowie zespołu przestrzegali tych samych zasad i konwencji. Jeśli masz wrażenie, że kod jest nieporządny, możesz zasugerować jego rozbicie i reorganizację w celu poprawy czytelności.
Duplikacja kodu
Możesz potraktować ten punkt jako czwarty na swojej liście kontrolnej przeglądu kodu lub sprawdzić, czy kod nie jest powielany podczas sprawdzania czytelności kodu. Jednak znaczenie posiadania listy kontrolnej przeglądu kodu polega na tym, że zmusza cię do zrobienia jednej rzeczy na raz. Może to wydawać się nieistotne, ale w rzeczywistości zmusza cię do przejrzenia kodu, skupiając się na jednym aspekcie w tym samym czasie: jest to najbardziej efektywna metoda prowadzenia uważnej kontroli.
Nazewnictwo
Jak już wspomnieliśmy, kiedy przeprowadzamy code review, nie szukamy tylko błędów, ale także sposobów na poprawienie kodu. W tym punkcie listy kontrolnej przeglądu kodu możesz przejrzeć nazwy zmiennych, stałych, pól klasowych, właściwości (i tak dalej...) i poszukać możliwości ich ulepszenia poprzez uczynienie ich bardziej opisowymi.
Testy
Testy automatyczne to kawałki kodu i jako takie, również należy je przejrzeć. Dlatego w tym punkcie listy kontrolnej przeglądu kodu, chcesz sprawdzić:
- czy w kodzie znajdują się testy, czy nie
- jakość tych testów
- czytelność testów
- nazewnictwo w ramach testów.
Dokumentacja
Po pierwsze, jeśli do projektu dołączona jest jakaś dokumentacja, upewnij się, że sprawdziłeś i przejrzałeś również ją. Po drugie, jeśli zmiany, które wprowadzasz do kodu obejmują dodanie nowej funkcjonalności, upewnij się, że zaktualizowałeś dokumentację, a następnie przejrzyj swoje aktualizacje.
Możliwość poprawy
Podczas przeglądu kodu, którego nie napisałeś w kółko, możesz mieć pomysły na dodatkowe funkcje, aspekty, które mogłyby zwiększyć wydajność lub bezpieczeństwo, lub ulepszenia w ogóle. Podczas przeglądu kodu nie tylko sprawdzasz, co tam jest, ale także udzielasz rad, jak ulepszyć projekt ogólnie lub pojedyncze jego aspekty.
Powinieneś w tym momencie zadać sobie pytanie, czy istnieją sposoby na ulepszenie projektu, abyś mógł albo samemu wprowadzić zmiany, albo poinformować autora kodu o zauważonych możliwościach.
Śledzenie zmian
Bardziej niż ostatnie pole na liście kontrolnej przeglądu kodu, powinieneś śledzić zmiany, które wprowadzasz do kodu w trakcie całego procesu przeglądu. Ważne jest, abyś podczas przekazywania informacji zwrotnej autorowi kodu (patrz następny akapit), był w stanie pokazać zmiany i wyjaśnić je.
Przekaż swoją informację zwrotną
Na koniec procesu code review możesz podzielić się z autorem kodu swoimi uwagami. Lista kontrolna przeglądu kodu pomoże Ci również w tym. Możesz przejść przez każdy punkt i każdy test, aby pokazać, co uważasz za działające, a co wymaga naprawy.
Podczas procesu przeglądu mogłeś również zauważyć, że istniały sposoby na uzyskanie tych samych wyników w sposób bardziej efektywny lub prostszy. Możesz przekazać taką informację koledze, który Cię zatrudnił (lub poprosił o przysługę): będzie to wartość dodana do Twojej pracy jako osoby sprawdzającej kod.
Jeśli w trakcie przeglądu kodu dokonałeś zmian w kodzie, chcesz mieć pewność, że nie tylko poinformujesz o tym autora (lub autorów) kodu, ale także, że jesteś w stanie wyjaśnić, dlaczego i jak dokonałeś tych zmian oraz jakie usprawnienia wnoszą one do projektu.
Czy przegląd kodu jest konieczny w przypadku programowania bez kodu?
Jak z pewnością już wiesz, nie piszesz kodu bezpośrednio, gdy tworzysz aplikację za pomocą platformy no-code. Jeśli korzystasz z najwyższej klasy narzędzi no-code, takich jak AppMaster - najbardziej polecana obecnie na rynku platforma no-code - kod źródłowy jest generowany automatycznie. Czy to oznacza, że ten kod nie wymaga przeglądu kodu, ponieważ nie został stworzony przez człowieka, ale przez maszynę, która nie popełnia błędów?
Jedną z ogromnych zalet platformy AppMaster jest to, że platforma od razu generuje czysty i piękny kod, w którym nie ma miejsca na code review; w zasadzie nie jest on potrzebny. Dlaczego? Bo zarówno w projektach open-source, jak i w AppMasterze wszystkie bloki i elementy zostały już sprawdzone milion razy, a platforma nie pozwala na błędny kod. Czyli często recenzja służy właśnie do poprawy jakości kodu, aby więcej profesjonalnych programistów sprawdzało stworzony kod i w ten sposób unikało problemów z wydajnością przy błędach.
W AppMasterze nie ma czegoś takiego, ponieważ cały kod jest profesjonalnie tworzony. Jest testowany i ulepszany przez ogromną liczbę osób, a za każdym razem, gdy znajdujemy opcje poprawy, te opcje poprawy są natychmiast stosowane do wszystkich aplikacji, które są generowane przez platformę. Więc użyj AppMaster, nie wydawaj pieniędzy i nie zwiększaj całkowitej własności produktu oprogramowania.
Wniosek
Proces przeglądu kodowania jest okazją do rozwoju zarówno dla autora kodu, jak i osoby poproszonej o jego sprawdzenie. Jest to również okazja do poprawy jakości projektu. Nie ma powodu, aby unikać jego wykonywania. Z tego artykułu o przeglądach kodu dowiedzieliśmy się również, jak narzędzia no-code mogą zwiększyć proces rozwoju i kreatywności oraz obniżyć koszty programowania.