Good Enough vs Perfect
"Yetarlicha yaxshi" va mukammal
Rassomni tasavvur qiling: unga bolalar kitobiga oddiy, quvnoq rasm chizish kerak — u buni bir necha soatda tugatib, keyingi sahifaga o'tadi. Endi uni muzey uchun buyurtma qilingan portretga qo'ying: u oylab, har bir soyani, har bir chiziqni mukammallashtiradi. Ikkalasi ham "yaxshi rassomlik" — lekin birinchisida mukammallikka intilish vaqtni behuda sarflagan bo'lardi, ikkinchisida esa "yetarlicha yaxshi" darajasida to'xtash mijozni xafa qilardi.
Har bir vazifa qanchalik mukammal bo'lishi kerakligi haqida yashirin savolni o'z ichiga oladi. Tajribasiz dasturchi ko'pincha ikkita tomonga og'ib ketadi: yoki hamma narsani "tezroq tugataman" deb yuzaki qiladi, yoki ichki demo skriptini ham production darajasida "mukammal" qilishga urinib, haddan tashqari ko'p vaqt sarflaydi.
"Yetarlicha yaxshi" (good enough) tushunchasi — sifatsizlik degani EMAS. U — vazifaning haqiqiy talabiga mos sifat darajasini anglatadi. Ichki tool uchun chiroyli CLI interfeysi shart emas — u ishlasa, tushunarli xabar bersa, yetarli. Foydalanuvchilarga ochiq API uchun esa xatolarni chiroyli qayta ishlash, aniq dokumentatsiya, orqaga moslik (backward compatibility) — bularning barchasi HAQIQIY talab, "ortiqcha mukammallik" emas.
| Vazifa turi | "Yetarlicha yaxshi" nimani anglatadi |
|---|---|
| Bir martalik skript (ma'lumotni bir marta ko'chirish) | Ishlasa bo'ldi — chiroyli xato xabarlari, testlar shart emas |
| Jamoa ichida ishlatiladigan ichki kutubxona | Asosiy holatlar to'g'ri ishlashi, minimal test, tushunarli nom |
| Ochiq API yoki mijozga ko'rinadigan funksiya | To'liq test, aniq xato xabarlari, dokumentatsiya, orqaga moslik |
Bu jadval — Speed vs Correctness darsidagi "xato narxi" mezonining davomi: nima uchun mukammallikka investitsiya qilish kerakligini hal qilganda, o'sha savolni bering — "agar bu yer kamchilik bo'lsa, kim va qanchalik zarar ko'radi?" Bir martalik skriptdagi kamchilik — sizni biroz bezovta qiladi. Ochiq API'dagi kamchilik — minglab foydalanuvchining kodini buzadi.
Muhandislik yetuklik belgisi — har bir vazifaga BIR XIL darajada mukammallik talab qilmaslik, balki har biriga MOS darajani ongli ravishda tanlash. Bu — vaqtingizni to'g'ri joyga sarflash, va "mukammallikka intilish" bahonasi ostida muhim ishlarni kechiktirmaslik demakdir.
Key Takeaway
Key Takeaway:
"Yetarlicha yaxshi" — sifatsizlik emas, balki vazifaning haqiqiy talabiga mos sifat darajasi. Har bir vazifa uchun bir xil darajada mukammallikka intilish o'rniga, "bu yerdagi kamchilik kimga qanchalik zarar keltiradi" deb so'rab, mos darajani tanlang.
NEXT UP
Estimating the Cost of a Decision