Blocking Comments vs. Nitpicks
To'sib qo'yuvchi izohlar va mayda-chuyda eslatmalar
Yo'l belgilarini tasavvur qiling: qizil sakkiz qirrali "TO'XTA" belgisi bor — bunga rioya qilmaslik xavfli, majburiy. Boshqa tomondan, "tavsiya etilgan tezlik — 60" degan sariq belgi bor — bu FOYDALI maslahat, lekin uni buzish jinoyat emas. Agar ikkala belgi BIR XIL qizil, sakkiz qirrali shaklda bo'lsa, haydovchilar ularni farqlay olmay, yo hammasiga to'xtaydi (vaqt yo'qotadi), yo hammasini e'tiborsiz qoldiradi (xavfli). Kod review izohlari ham xuddi shunday ikki turga aniq ajratilishi kerak.
To'sib qo'yuvchi (blocking) izoh — bu kod BIRLASHTIRILISHI (merge qilinishi)dan oldin ALBATTA tuzatilishi shart bo'lgan muammo: xatolik, xavfsizlik teshigi, yoki Five Things Every Diff Should Be Checked For darsida ko'rgan besh toifadagi jiddiy kamchilik. Mayda-chuyda eslatma (nitpick) — kodni YAXSHILAYDI, lekin muallif buni e'tiborsiz qoldirsa ham, kod XAVFSIZ, TO'G'RI ishlayveradi: o'zgaruvchi nomini yaxshiroq tanlash, kodni biroz boshqacha tuzish, shaxsiy uslub afzalligi.
| Izoh | Turi | Sabab |
|---|---|---|
"Bu yerda err tekshirilmayapti — agar baza ishlamasa, foydalanuvchi hech narsa bilmaydi" | To'sib qo'yuvchi | Xato yutib yuborilyapti — production'da aniqlanmaydigan muammoga olib keladi |
"Bu o'zgaruvchini usr emas, user deb nomlasak, o'qish osonroq bo'lardi" | Nitpick | Kod baribir to'g'ri ishlaydi, bu shunchaki o'qish qulayligi taklifi |
| "Bu yerda mutex yo'q, ikkita goroutine bir xil xaritaga yozyapti" | To'sib qo'yuvchi | Race condition — kamdan-kam, lekin jiddiy production xatosi |
| "Men bu joyda bo'sh qatorni olib tashlagan bo'lardim" | Nitpick | Sof shaxsiy uslub tanlovi, funksionallikka ta'sir qilmaydi |
Izohni yozayotganda, uni ANIQ belgilash muhim: ko'p jamoalar blocking: yoki nit: kabi prefiks ishlatadi, shunda muallif QAYSI izohlarni albatta hal qilishi, qaysilarini o'z xohishiga ko'ra qabul qilishi mumkinligini DARHOL biladi. Bu belgilashsiz, muallif har bir izohni bir xil jiddiylikda o'qishga majbur bo'ladi — bu esa Giving Feedback That's Specific and Kind darsida ko'rgan izoh sifatini pasaytiradi, chunki muhim va mayda narsalar bir-biriga aralashib ketadi.
Ko'p yangi ko'rib chiquvchining xatosi — HAMMA narsani "to'sib qo'yuvchi" deb belgilash, hatto shaxsiy did masalalarini ham. Bu jamoada ISHONCHSIZLIK va CHARCHASH keltirib chiqaradi: muallif har bir kichik PR uchun ko'p marta qayta yozishga majbur bo'ladi, va aslida MUHIM bo'lgan to'sib qo'yuvchi izohlar o'zining og'irligini yo'qotadi.
Amaliy mezon: "agar bu izohga rioya qilinmasa, PRODUCTION'da real muammo yuz beradimi (xato, xavfsizlik, ishlashning to'xtashi)?" Javob "ha" bo'lsa — to'sib qo'yuvchi. Javob "yo'q, shunchaki men boshqacha yozgan bo'lardim" bo'lsa — nitpick, va uni shunday deb belgilang.
Key Takeaway
Key Takeaway:
Har bir review izohini ikki turga ajrating: to'sib qo'yuvchi (production'da real muammo yaratadi, merge'dan oldin hal qilinishi shart) va nitpick (kod xavfsiz ishlaydi, shunchaki yaxshilash taklifi). Buni aniq belgilash, muallifga nimani albatta hal qilish kerakligini darhol ko'rsatadi.
NEXT UP
Reviewing Security-Sensitive Code: Unchecked Input