Kod sifati - Kodlarni tahlil qilish
Dasturga kichik o'zgarish qilish uchun 2 kun bosh qotirib, tahminan 200 qatorli kod yozdim. Style guide'ga va Clean code'dagi qoidalarga amal qildim. Kodimni o'zim yaxshilab tekshirdim: xatolar yo'q. Dasturni yurgizib ko'rdim: o'zgarishim kutilgandek ishlayapti. Endi kodimni topshirishdan oldin tahlil qilishga jo'nataman, ya'ni "Pull Request" qilaman.
2 soatdan keyin qarasam, kodimni tekshirayotgan dasturchi:
• Kodimda bitta umuman hayolimga kelmaydigan ("edge-case") kamchilik topibdi. To'g'riladim.
• Bir-ikkita joylariga kodni yanada yaxshiroq qilish uchun taklif beribdi. Takliflarni hisobga olib, kodimni o'zgartirganimdan keyin o'zgarishlarim 200 qatordan 180 qatorga tushdi.
• Kodimning tushunmagan joylari haqida savol so'rabdi. "U tushunmadimi, demak boshqalar uchun ham tushunarsiz bo'ladi", deb kodimni yanada tushunarliroq qilib yozdim.
Shundan keyin tekshiruvchi kodimni topshirishimga ruxsat berdi.
~~~
Kodlarni tahlil qilish ("code review") jarayoni yo'lga qo'yilgan kompaniyalarda holat tahminan yuqoridagidek bo'ladi.
Kodlarni tahlil qilish – "Engineering Excellence"ning eng asosiy ustunlaridan biri. Kodlarni tahlil qilish – bu faqat junior'ning kodini senior tekshirishi kerak, degani emas.
Ushbu jarayondan maqsadlar quyidagicha:
1. O'zgarishlarga boshqa odamning nuqtai nazaridan qarash. Ikkita dasturchi ikki xil fikr yuritadi. Kodni yozgan dasturchi o'zining yechimini "eng yaxshi yechim", deb o'ylashi mumkin. Boshqa dasturchi yanada yaxshiroq yechim taklif qilishi mumkin.
2. Beixtiyor xatolarni tutish. Bir kishi ko'rmay qolgan xatoni boshqasi tutishga yordam beradi.
3. Kodning tushunarli ekanligiga ishonch hosil qilish. Bir necha soat muammo ustida bosh qotirib kod yozgan odam uchun o'zining kodi juda tushunarli bo'ladi. Boshqa dasturchi tekshirganida esda tushunarsiz joylarini topib, ko'rsatadi.
4. Kod bazasini yaxshilash. Kodga qilinayotgan har bir o'zgarish kodni avvalgi holatiga nisbadan yaxshiroq holatga olib kelishi kerak. Aks holda vaqt o'tgan sari kod bazasining sifati pasayib boradi. Boshqa dasturchi shuni tekshirib oladi.
5. Boshqalarga bilim ulashish. Ha, siz o'zingiz yozgan kodni boshqalarga tekshirtirish orqali bilim ulashasiz. Ular bir muammo va unga yechim haqida o'rganib olishadi.
~~~
Kodni tekshiruvchi sifatida sizning vazifangiz boshqa dasturchining kodini tanqid qilish bo'lmasligi kerak. Aksincha, konstruktiv tarzda o'zgarishlar taklif qilishingiz kerak.
Kodning egasi sifatida siz kodingizga bildirilgan fikrlarni to'g'ri qabul qilib, kerakli o'zgarishlarni amalga oshirishingiz kerak.
Kodni tahlil qilish borasida Vohid Karimov yaxshi maslahatlarni shu va undan keyingi bir nechta postlarda keltirib o'tgan. O'qib chiqishni tavsiya qilaman.
#engineeringexcellence
@muhammadjohns
12
6
1February 22, 2025 1.8K 5