Dasturchi o'rganishi mumkin bo'lgan eng muhim mahorat

Gemma Evans surati Unsplashda

Yo'q, yo'q, yo'q va yo'q. Va yo'q.

Katta YO'Q. Bu aniq.

Faqat ikkita harfni birlashtirish va so'zni aytish kerak.

Endi birgalikda aytaylik. NOOOOOOO!

Yaxshi boshlang.

Ammo bir daqiqa kuting. Nimani va qachon?

Xo'sh, bu ko'pgina dasturchilar (hatto katta yoshdagilar) ham osonlikcha chalkashib ketadigan muhim jihat.

Dasturchi sifatida kod yozish sizning ishingizning eng katta qismidir. Dasturlash davrida siz turli xil kod so'rovlari bilan shug'ullanishingiz kerak bo'ladi. Har bir so'rov sizni qiyin qarorlarni qabul qilishga majbur qiladi. Hammasi yaxshi. Hech qanday yomon narsa yo'q. Bu hamma sizdan, dasturchi sifatida kutayotgan narsa: Kod yozish. Biroq, bu erda savol tug'iladi: sizdan so'ralgan barcha kodlarni yozishingiz kerakmi?

Ushbu savol bizni dasturchi o'rganishi mumkin bo'lgan eng muhim mahoratga olib keladi:

Kodni qachon kiritmaslik kerakligini bilish, bu dasturchi o'rganishi mumkin bo'lgan eng muhim mahoratdir. - O'qilishi mumkin bo'lgan kod san'ati

Men ko'proq rozi bo'lolmadim. Nima sababdan?

Dasturlash - bu muammoni hal qilish san'ati. Shunday qilib, tabiiyki, dasturchilar muammoni hal qilishadi. Dasturchilar sifatida, bizning oldimizda yangi muammoni hal qilishga tayyor bo'lganimizda yoki bizdan kod satrlarini yozishni talab qiladigan boshqa biron bir muammo yuzaga kelganda, biz hayajonlanamiz.

Va bu yaxshi, chunki biz dasturchimiz. Biz kod yozishni yaxshi ko'ramiz.

Ammo kodni yozishdan haddan tashqari hayajonlanish bizni ko'r qiladi. Bu bizni kelajakda duch keladigan katta muammolarga olib keladigan ba'zi muhim dalillarni e'tiborsiz qoldirishga olib keladi.

Xo'sh, qaysi muhim dalillarni e'tiborsiz qoldiramiz?

Siz yozadigan har bir satr:

  • boshqa dasturchilar tomonidan o'qilishi va tushunilishi kerak bo'lgan kod
  • sinovdan o'tishi va tuzatilishi kerak bo'lgan kod
  • dasturdagi kamchiliklarni kuchaytiradigan kod
  • kod, ehtimol kelajakda yangi xatolarni keltirib chiqarishi mumkin

Rich Skrenta yozganidek, kod bizning dushmanimiz:

Kod yomon. Buzadi. Bu davriy parvarish qilishni talab qiladi. Unda topilishi kerak bo'lgan xatolar mavjud. Yangi xususiyatlar eski kodni moslashtirish kerakligini anglatadi.
Kodingiz qancha ko'p bo'lsa, xatolarni yashirish uchun ko'proq joy mavjud. Tekshirish yoki kompilyatsiya ko'proq vaqt talab etadi. Tizimingizni anglash uchun yangi xodimga ko'proq vaqt kerak bo'ladi. Agar sizda reflektor kerak bo'lsa, unda boshqa narsalar ko'p.
Bundan tashqari, ko'proq kod ko'pincha kamroq moslashuvchanlik va funktsionallikni anglatadi. Bu qarshi intuitiv, ammo ko'p marta oddiy, oqlangan echim kam iste'dodli dasturchi tomonidan ishlab chiqilgan chalkashliklarga qaraganda tezroq va umumiyroq.
Kod muhandislar tomonidan ishlab chiqariladi. Ko'proq kod yaratish uchun ko'proq muhandis kerak. Muhandislar uchun aloqa qiymati nolga teng va tizimga qo'shadigan barcha kodlar uning imkoniyatlarini kengaytirish bilan birga xarajatlarning butun savatini oshiradi.

Bu haqiqat, shunday emasmi? Sizni o'zlarining mahsuldorligi va kodlash zehniyati bilan ilhomlantiradigan dasturchilar - qachon yo'q aytishni va qachon kod aytmaslikni biladiganlar. Saqlash oson, uzoq vaqt xizmat qiladigan va foydalanuvchilarga yordam beradigan dastur bu hech qanday keraksiz kod satrlarini o'z ichiga olmaydigan dasturdir.

Eng yaxshi kod - bu hech qanday kod, va eng samarali dasturchi - qachon kodni kiritmaslikni biladigan kishi.

Kodni qachon kiritmaslik kerakligini qanday bilsa bo'ladi?

Loyihada ishlayotganingizda hayajonlanishingiz va siz amalga oshirishni istagan barcha yoqimli xususiyatlar haqida o'ylashingiz tabiiydir. Ammo dasturchilar o'zlarining loyihalari uchun qancha funktsiyalarni talab qilishlari mumkin. Ko'pgina funktsiyalar tugallanmagan yoki ishlatilmayapti yoki dasturni shunchaki murakkablashtiradi. Ushbu xato qilmaslik uchun loyihangiz uchun nima zarurligini bilishingiz kerak.

Dasturiy ta'minotingiz maqsadini va uning asosiy ta'rifini tushunish, qachon kodni kiritmaslik kerakligini bilishning birinchi bosqichidir.

Sizga bir misol keltiray. Aytaylik, sizda bitta maqsadga mo'ljallangan dastur mavjud: elektron pochtalarni boshqarish. Va shu maqsadda elektron pochta xabarlarini yuborish va qabul qilish sizning loyihangiz uchun ikkita muhim xususiyatdir. Siz ham ushbu dastur sizning vazifalaringiz ro'yxatini boshqarishini kutolmaysizmi, shunday emasmi?

Shunday qilib, ushbu ta'rif bilan bog'liq bo'lmagan har qanday mumkin bo'lgan xususiyat so'rovlariga "YO'Q" deb aytishingiz kerak. Kodni yozmaslik kerakligini bilganingizga amin bo'lishingiz mumkin.

Hech qachon dasturiy ta'minotingiz maqsadini kengaytirmang.

Sizning loyihangiz uchun nima muhimligini bilganingizdan so'ng, keyingi safar mumkin bo'lgan so'rovlarni baholaganingizda, ongli ravishda sezasiz. Kod yozishga bo'lgan talablaringizni aniq bilib olasiz. Qaysi funktsiyani amalga oshirish kerak? Qaysi kodni yozishga arziydi? Siz hamma narsani so'roq qilasiz, chunki keraksiz kod sizning loyihangizni qanday o'ldirishi mumkinligini aniq bilib olasiz.

Kodni qachon kiritmaslik kerakligini bilish sizning kod bazangizni kichik darajada ushlab turadi.
O'qish mumkin bo'lgan kod san'ati

Loyihangizni boshlaganingizda faqat ikki yoki uchta manba fayllar mavjud. Hammasi juda sodda ko'rinadi. Kodni tuzish va ishlatish uchun bir necha soniya kifoya qiladi. Siz qidirayotgan narsangizni aniq topishingiz mumkin.

Keyin, loyiha o'sib borishi bilan, katalogingizni tobora ko'proq manbali fayllar to'ldiradi. Har bir kod faylida yuzlab kod satrlari mavjud. Barchasini tartibga solish uchun tez orada sizga bir nechta katalog kerak bo'ladi. Qaysi funktsiyalarni boshqa funktsiyalarni chaqirishni eslab qolish qiyinroq va xatolarni kuzatish biroz ko'proq mehnat talab qiladi. Loyihangizni boshqarish qiyinlashadi va sizga yordam berish uchun sizga ko'proq dasturchilar kerak bo'ladi. Dasturchilar soni ko'payishi bilan aloqa xarajatlari oshadi. Siz sekin va sekinroq bo'lasiz.

Oxir oqibat, loyiha juda katta bo'ladi. Yangi xususiyatlarni qo'shish og'riqli. Kichik o'zgarishlarni amalga oshirish uchun bir necha soat kerak bo'ladi. Mavjud bo'lgan xatolarni tuzatish har doim yangi xatolarni keltirib chiqaradi. Siz etishmayotgan muddatlarni boshlaysiz.

Endi hayot siz uchun kurashdir. Nima uchun?

Kodni qachon kiritishni bilmasligingiz sababli, siz barcha mumkin bo'lgan so'rovlarga "YES" deb javob bergansiz. Siz ko'r edingiz. Sizga biron bir yangi narsani kodlash muhim faktlarni e'tiborsiz qoldirishga sabab bo'ldi.

Bu dahshatli filmga o'xshaydi, to'g'rimi?

Agar siz hamma narsaga «HA» deb aytsangiz, bu nima bo'ladi. Kodni qachon kiritishni aniq biling. Loyihangizdagi barcha keraksiz kodlarni yo'q qiling. Bu sizning hayotingizni osonlashtiradi va dasturiy ta'minotingizni uzoq umr ko'radi.

Mening eng samarali kunlarimdan biri 1000 satr kodni tashlab yuborish edi. - Ken Tompson

Bilaman, qachon kodni bilmaslik juda qiyin. Katta dasturchilar uchun ham. Ehtimol, ushbu maqolada yozgan narsalarim kichik dasturchilar uchun tushunish qiyin va bu yaxshi va tushunarli.

Bilaman, siz dasturiy sayohatingizni endigina boshladingiz va kod yozishni xohlaysiz. Siz bundan juda hayajondasiz. Bu yaxshi. Hech qachon bu hayajonni yo'qotmang, lekin muhim dalillarni hech qachon e'tiborsiz qoldirmang. Biz ularni o'z xatolarimizdan bilib oldik. Siz ham xato qilasiz va siz ham ulardan saboq olasiz. Ammo, hech bo'lmaganda, siz bizning tajribamizdan o'rganishingiz mumkin bo'lsa, ko'proq ongli bo'lishingiz mumkin.

Kodlashni davom eting, lekin qachon kodlash kerakligini aytishni biling.

Dastlab http://huseyinpolatyuruk.com da nashr etilgan.