Technical Debt: Loan or Trap?
Texnik qarz: qarzmi yoki tuzoqmi?
Bankdan kredit olishni tasavvur qiling: siz hoziroq kerakli pulni olasiz, lekin kelajakda uni FOIZ bilan qaytarishingiz kerak. Agar kredit oqilona rejalashtirilgan bo'lsa — masalan, biznesingizni tezroq ishga tushirish uchun — bu foydali qarz. Lekin agar siz kreditni qaytarishni butunlay unutsangiz, foiz ustiga foiz qo'shilib, oxir-oqibat butun boyligingizni yutib yuboradi. "Texnik qarz" ham xuddi shunday ishlaydi.
Texnik qarz — ataylab yoki bilmasdan qilingan "to'liq to'g'ri bo'lmagan" muhandislik qarori: masalan, testlarni hozircha yozmaslik, vaqtinchalik yechim bilan muddatga yetib borish, yoki keyinroq refaktor qilish niyatida "tez" kod yozish. Speed vs Correctness darsida ko'rganingizdek, bu ba'zan to'g'ri strategiya — lekin faqat qarz ongli ravishda olinsa va qaytarilsa.
- •Yaxshi qarz: "Bu funksiyani hozircha testlarsiz yozamiz, chunki ertaga demo bor — lekin demodan keyin darhol test qo'shamiz" (aniq, yozilgan reja)
- •Yomon qarz (tuzoq): "Bu funksiyani hozircha testlarsiz yozamiz" — va hech qachon eslamaslik, oxir-oqibat hech kim uning qanday ishlashini bilmay qoladi
- •Foiz o'sishi: har bir yangi funksiya "vaqtinchalik" yechim ustiga quriladi, oxirida butun tizimni qayta yozishdan boshqa chora qolmaydi
Muhim farq — qarz ko'rinadigan (visible) bo'lishi kerak, xuddi Questions, Not Guesses darsidagi yozma taxminlar kabi. // TODO: bu joyni keyinroq testlar bilan qoplash kerak yoki jamoaning kuzatuv tizimida ochilgan yozuv — qarzni "unutilgan xato"dan "ongli, kuzatilayotgan qaror"ga aylantiradi. Ko'rinmas qarz — hech qachon to'lanmaydigan qarzdir, chunki uni hech kim eslamaydi.
Qarzni qachon olish kerakligini hal qilishda foydali savol: "Agar bu qarorni HECH QACHON to'lamasak, eng yomon holatda nima bo'ladi?" Agar javob "biroz kod tartibsizroq bo'ladi" bo'lsa — qarz olsa bo'ladi. Agar javob "tizim ishdan chiqadi" yoki "xavfsizlik teshigi qoladi" bo'lsa — bu qarz emas, bu xavf, va uni HOZIROQ hal qilish kerak.
Jamoada ishlaganda, texnik qarzni ochiq muhokama qilish muhim: uni yashirib, "hammasi joyida" deb ko'rsatish — kelajakdagi hamkasbingizni (yoki sizning kelajakdagi o'zingizni) tuzoqqa tushiradi. Ochiq aytilgan "bu joy vaqtinchalik, mana sababi" — jamoaviy ishonchni saqlaydi.
Key Takeaway
Key Takeaway:
Texnik qarz — ongli ravishda olinsa va yozib qo'yilsa, foydali strategiya bo'lishi mumkin, xuddi bank krediti kabi. Ko'rinmas, unutilgan qarz esa foiz ustiga foiz bilan o'sib, oxir-oqibat tuzoqqa aylanadi.
NEXT UP
Premature Optimization