Loading...

Kod review nədir?

author-picture
İsmayıl Fikrət, Tech Academy Author
23 Dekabr, 2021 icon-read 528 oxunma
blog-picture

Çoxları düşünür ki, proqramlaşdırmada kod review-lar (bundan sonra KR adlandıracağıq) xətaların, “bug”ların tapılması üçün edilir. Amma, əslində bu gerçəyi tam olaraq əhatə etmir. Bununla belə, istənilən halda KR proqramçılar üçün çox faydalıdır. KR-ın faydaları və prosesi necə effektiv hala gətirməsi ilə bağlı aşağıdakı məqamlar diqqət çəkir:

KR zamanı əslində çox az sayda bug tapılır.

Kodlar nəzərdən keçirilərkən bu kodda hər hansı bir xətanın və ya səhvin tapılması əslində nadir rast gəlinən təcrübədir. Xəta deyərkən, nəticə kimi, biz proqramın yanlış işi görməsi və ya heç işləməməsini nəzərdə tuturuq. Qeyd edək ki, biz burada kod yazılan zaman edilən texniki səhvləri - məsələn, düzgün seçilməyən “variable” adını, çatışmayan test keysləri və ya yanlış yönləndirən log mesajlarını nəzərdə tutmuruq. Baxmayaraq ki, bu səhvlər də aradan qaldırılmalı olan səhvlərdəndir və yolverilməz hesab edilir, son nəticə kimi əgər proqram işləyirsə, yenə də düzgün nəticəni bizə verəcək.

Niyə KR edirik?

Çoxlu sayda xəta tapmasaq belə buna dəyər. Hər şeydən əvvəl, həmkarınızın və ya komanda yoldaşınızın yazdığı kodları nəzərdən keçirərək, onun nəzərindən qaçan xətaları bildirə bilərsiniz. Çünki, yalnız özümüz öz kodlarımızı nəzərdən keçirdikdə səhv etdiyimizin bəzən fərqinə belə vara bilmirik. Buna görə də KR zamanı ən azı əlavə bir cüt gözə də ehtiyac duyulur. Heç bir xəta tapılmasa belə aydın olmayan kod, düzgün adlandırmama, edilməyən testlər kimi nöqsanlar da ortaya çıxa bilər. Hərdənbir həqiqi xətalarla da üzləşə bilərik. KR həm də kodun necə çalışması barəsində bilginin proqramçılar arasında paylaşılması baxımından önəmlidir.

KR ciddi xətalar tapmaq üçün çox gecdir!

Əgər bir tool və ya sadəcə hansısa bir proqramlaşdırma texnologiyasına yeni bir özəllik gətirmək və ya dəyişiklik etmək istəyiriksə və onun tam olaraq harda və necə tətbiq edilməsi aydın deyilsə, bu komadada olan digər həmkarlar ilə birgə müzakirə olunmalıdır. Müzakirə zamanı isə ortaya çıxa bilər ki, bunu etməyin daha asan yolları varmış... Bəlkə də, ümumiyyətlə, dəyişikliyi tamam başqa bir yerdə etmək lazım imiş... Bəlkə də artıq belə bir xüsusiyyət çoxdan var və sənin bundan xəbərin yoxdur. Əgər bu cür problemlər KR zamanı ortaya çıxsa, o zaman bu dəyişikliyi yaratmaq və test etmək üçün sərf etdiyin vaxt və enerji boşuna getmiş olacaq. Bu baxımdan KR-i xəta tapmaq üçün etmirik.

Nəzərdən keçirin, test etməyin.

Bəzən düşünə bilərik ki, düzgün KR üçün kod “run” edilməli və test edilməlidir. Amma bu həm çox vaxtınızı, həm də enerjinizi alır. Kodu onu yazan test etməlidir. Əks halda, onlar necə biləcəklər ki, yazdığı kod işləyir yoxsa yox? KR etdiyimiz kodların onu yazan deveoperlər tərəfindən test və “run” olunduğunu nəzərə alsaq, bizə sadəcə onları diqqətlə nəzərdən keçirmək qalır. Beləliklə, biz bu kodu biz yazası olsa idik nəyi düzgün/yanlış etdiyimizi ya da, sadəcə fərqli etdiyimizi görə bilərik.

Səbəbi ilk olaraq kodu yazandan soruşun

Bütün KR eyni deyil. Bəziləri daha kompleks və çətindir. Belə hallarda kodu nəzərdən keçirməmişdən qabaq həmən kodu yazan adamla, əgər mümkündürsə, əlaqə yaratmağınız tövsiyə edilir. Kodu yazan developerlər sizə hər hansı bir məqamı nə üçün müyəyyən formada etdiklərini izah edə bilərlər. Bununla yanaşı olaraq əlbəttə ki, siz kod barədə başlıqdan oxuya və ya elə kodun özünə baxaraq bir çox şeyi özünüz anlaya bilərsiniz. Hər halda təcrübə göstərir ki, KR zamanı ilk olaraq birbaşa kodu yazandan soruşmaq daha effektivdir.

Tənqid

Əgər kodda bir problem çıxacaqsa, bunu həmən kodu yazan developerə necə bildirməyiniz çox önəmlidir. Kodda yanlışlıqlar çox olarsa, onu yazan developerlə birbaşa əlaqə qurmağınız məsləhətdir. Amma, sözsüz ki, bəzən həmin developerlə birbaşa danışmaq mümkün olmaya bilər. Bu zaman koda şərh verərkən diplomatik olmaq məsləhət görülür. Məsələn, “Bu hissə özünün ayrıca bir funksiyasında olmalıdır” əvəzinə “Məncə, bu hissə özünün ayrıca bir funksiyasında olmalıdır” və ya “Bəlkə bu hissə özünün ayrıca bir funksiyasında olsa daha yaxşı olar?” bu kimi şərh verə bilərsiniz. Ümumiyyətlə, təcrübə göstərir ki, sual tipli irad ya da şərh verilən zaman normal şəkildə müzakirə edib məhsuldar nəticəyə gəlmək ehtimalı daha yüksəkdir.

Tərif

KR zamanı kodda müsbət bir yenilik və ya dəyişiklik gördüyünüz zaman ona da müsbət bir şərh verməyiniz pis olmaz. Əksər şərhlər və ya fikirlər mənfi şeylərə fokuslandığından, edilən müsbət dəyişikliyi də tanımaq və və vurğulamaq gözəl olardı.