tarjima

Sizning yomon dasturchi ekanligingizning belgilari

Sizning yomon dasturchi ekanligingizning belgilari

Men o'zingizni yomon his qilishingizni xohlamayman. Menda quyidagi belgilar bor edi va men o'zimni o'zgartirish uchun ko'p harakat qildim. Agar o'z xatolaringizni bilmasangiz, ularni to'g'rilash imkonsiz. Bularni sizga aytadigan odam kerak, lekin ko'pchilikda bunday imkon mavjud emas.

Ko'pincha biz nima qilishimiz kerakligini bilamiz, lekin qilmaymiz. Biz buni keyinroq bajaramiz deb o'ylaymiz, ammo bajarmaymiz. "Keyinroq" hech qachon kelmaydi. Bu dangasa dasturchining umumiy belgisi va yomon dasturchi bo'lishga birinchi qadam. Keling faktlarga murojaat qilaylik.

Kodning maqsadini tushunmayapman

Kodni yozishdan oldin siz kodning maqsadini, kodingiz nima qilishini bilishingiz kerak. Bu sizning boshingizdagi kodni ishlatishga o'xshaydi.


Alomatlari

  1. Hech qachon ishlatilmaydigan o'zgaruvchilarni saqlash.
  2. Keraksiz loyihani bajarish.
  3. Maqsadga aloqasi bo'lmagan funksiyalarni chaqirish.
  4. Keraksiz funksiyalarni bajarish.
  5. Buglarni buglarni yo'qotish uchun yozilgan kod orqali bartaraf etish.
  6. Keraksiz qiymat konvertatsiyasi. O'nlik kasrni avval stringga aylantirish va keyin yana o'nlikni kasrga aylantirish kabi.

Yechim

  1. Debuggerdan foydalaning.
  2. O'zgaruvchilardan oldin va keyin o'zgaruvchilar qiymatini tekshiring.

Dasturlash tili arxitekturasini yaxshi tushunmaslik

Ob'ektga yo'naltirilgan dasturlash-bu dasturlash modeli, Funksional yoki deklarativ dasturlash. Ular protsessual yoki deklarativ dasturlashdan farq qiladi. Dasturchilar bir arxitekturadan ikkinchisiga o'tib, chalkashib ketishadi va bu normal holat. Ammo vaqt o'tishi bilan siz ushbu arxitekturani yaxshiroq tushunishingiz kerak.

Alomatlari

  1. Standart OOPga rioya qilmaslik.
  2. (OOP) Tasdiqlanmagan sinflarda statik bo'lmagan funksiyalarni/o'zgaruvchilarni chaqirish.
  3. Har xil turdagi ishlov berish uchun bir xil algoritmning bir nechta versiyasini yaratish.
  4. Ma'lumotlarni (imperative kodlarda) bog'lashni emas, balki individual qiymatlarni o'rnatish.

Yechim

  1. Buni bir kunda tushunishingiz qiyin. Siz mashq qilishingiz, mashq qilishingiz va ko'proq mashq qilishingiz kerak.
  2. Hujjatlarni(documentation) o'qish. Agar siz til arxitekturasini yoki OOP asoslarini tushunmasangiz, yaxshiroq tushunish uchun vaqt ajrating.
  3. Senior dasturchilar kodiga ergashish.

O'z kodingizga ishonmaslik

Qachonki sizning mantig'ingiz yomon bo'lsa, siz chalkashliklarga duch kelasiz va o'z kodlaringizga ishonmaysiz.

Alomatlari

  1. IsNull () yoki IsNotNull () yoki IsTrue (bool) yoki IsFalse (bool) funksiyalarini keraksiz yozish.
  2. Mantiqiy o'zgaruvchining haqiqiy yoki noto'g'ri ekanligini tekshirish.
  3. Bir xil funksiyalarni bajarilishini tasdiqlash uchun ularni qayta-qayta chaqirish.

Yechim

  1. Logikangizga ishoning. Agar logikada xato bo'lsa, boshqa logikani sinab ko'ring.


Rekursion tuzoqqa tushish

Rekursiya g'oyasi murakkab, ammo unchalik qiyin emas. Lekin ko'plab dasturchilar arvoxdan qo'rqish kabi rekursiyadan qo'rqishadi. Rekursiya kodni yanada toza va samarali qiladi. Rekursiya zinapoyaga o'xshaydi. Siz "qayerdasiz" va "baza qayerda" va qanday ko'tarilishingiz yoki tushishingizni tasvirlashingiz kerak.

Alomatlari

  1. Takroriy echilishi mumkin bo'lgan muammolar uchun murakkab iterativ algoritmlar. Fayl tizimi daraxtini kesib o'tish kabi.
  2. Rekursiv qo'ng'iroqdan oldin ham, keyin ham asosiy holatni tekshirish.
  3. Asosiy shartni tekshirmaydigan rekursiv funksiyalar.
  4. Global o'zgaruvchiga yoki yig'iladigan chiqish o'zgaruvchisiga birlashtiruvchi/yig'uvchi rekursiv kichik dasturlar.

Yechim

  1. Oqimni(flow) tushunish uchun kodni bir necha bosqichda bajaring. Ba'zi bir to'plamlarning to'lib toshishi sodir bo'lishi mumkin. Lekin xavotir olmang.
  2. Chiqishlar(output)ni ko'rish uchun asosiy shart(base condition)ni o'zgartiring.
  3. Sizning maqsadingiz - ishonch va qaerda va nima qilayotganingizni to'liq his qilish.

Tajribasizlik


Zamonaviy frameworklar va dasturlash tillari ajoyib buyruq va xususiyatlarga ega. Ko'lami shu qadar kattaki, yaxshi dasturchi iste'mol qilish uchun bir necha yildan ko'proq vaqt kerak bo'ladi. Ammo yaxshi dasturchi har doim o'z vazifasini bajarishni boshlashdan oldin o'rnatilgan funktsiyani qidiradi.


  1. Muammoga o'zi yechim qidirish o'rniga, "Menga kodni elektron pochta orqali yuboring, iltimos" deyish.
  2. Bunday vaziyatda yangi texnika yaxshiroq bo'lgan taqdirda ham, eskirib qolgan usullardan doimiy foydalanish.
  3. To'g'ridan-to'g'ri yechim qidirishdan ko'ra, "aylanma kod" ni yozib, murakkablashtirish.

Yechim

  1. Bu mahoratni shakllantirish uchun vaqt kerak. Shunday ekan, shoshmang.
  2. Muammoga duch kelganingizda boshqa dasturchiga bormang yoki to'g'ridan-to'g'ri kodni nusxa ko'chirmang. Vaqt ajrating. Hujjatlarni(documentation) o'qing.


Manba:


 Ayyubxon - Texnoman foydalanuvchisi

Muallif haqida

Ayyubxon


Qiziq bo‘ladi:


Birinchi bo‘ling!

Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!