Dasturchilar uchun o’nta tavsiya
Hammaga salom!
Men, bir-qancha tajribasi bor dasturchi sifatida, sizlarga foydali bo’lishi mumkin bo’lgan tavsiyalar bermoqchiman. Sizning tajribangiz qanchalik ko’p bo’lsa, quyidagi keltirilgan tavsiyalarning shuncha ko’pi sizga haqiqiy va banal ko’rinadi. Dasturlash sohasiga endi kirib kelayotgan dasturchilar uchun esa bu tavsiyalar juda g’alati tuyulishi mumkin.
Tavsiyalar
1. Faqat sizga hozirgi vaqtda kerak bo’ladigan kod yozing (YAGNI printsipi)
Ishlatilmaydigan kod quyidagi fikrlar asosida paydo bo’ladi.
— «Kelajakda bu funksional menga albatta as qotadi. Uni hozir yaratib qo’ysam-chi?»
— «Quyidagi abstraktsiya bu funksional tugallanmagan ko’rinadi. Shuning uchun uni hozir yaratib qoyganim maqul»
Ortiqcha kod quyidagi muamolar yaratadi:
— Uning aksariyat qismi baribir ishlatilmaydi
— Bunday kodni o’qish va o’rganish ortiqcha vaqt oladi
— Ancha vaqtdan beri ishlatilmaydigan kod, shu vaqtning ichida o’zgarib kelgan loyihaning holatiga to’g’ri kelmaydi
2. Eskirgan kodni shavqatsiz yo’q qiling
Eskirgan kor — bu proyekt rivojlanishi mobaynida yaroqsiz holatga kelgan funksionaldir. Agar siz bu kodni kelajakda ishlatish umidida saqlayotgan bo’lsangiz, shuni biling-ki, aksariyat holatlarda uni qaytatdan yozish ham vaqt ham harajatni tejaydi. Boz ustiga, sizga kerak bolib qolishi mumkin bo’lga istalgan kodni GIT kabi versiyalarni boshqarish tizimidan olishingiz mumkin. Umid qilaman, siz bunday tizimdan foydalanasiz.
3. Yangi loyihani minimal funksional bilan boshlang (Minimum viable product)
Muvaffaqiyatli loyiha, qancha to’sqinlik qilmang albatta mayda «ikr-chikir»lar bilan qoplanib ketadi. Agar yangi loyihada, siz birdaniga minglab funksiyalarni yaratsangiz, bu loyiha hech qachon ishga tushmasligi imkoniyati juda baland.
4. Refaktoring qilib turishni unutmang
Har bir muvaffaqiyatli loyihaga hos xususiyat bu uning davomiy rivojlanishi. Bu jarayon mobaynida unga ko’plab yangi kod qo’shiladi. Shu sababli loyiha muvaffaqiyatligini faqatgina shu kodni refaktoring qilish bilan saqlab turish mumkin. Agar bu ish qilinmasa, vaqt o’tishi bilan, yozilgan kodni kengaytirish imkoniyati yo’qoladi va natijada loyiha bir joyda to’xtaydi.
5. Sodda yechimlarni, murakkab yechimlardan ustun qo’ying (KISS printsipi)
Sodda yechimlarni tushunish, kengaytirish va debug qilish osonroq. Loyihalaringizni arxitekturasini qiyinlashtirishga emas, soddalashtirishga uruning.
6. Sodda va tushunarli kod, genial va murakkab koddan yaxshiroq
Murrakab logika va arxitektura yordamida yozgan kodingizni kelajakda tushunishi, optimizatsiya qilishni va kengaytirishni kerak bo’ladigan dasturchilar haqida o’ylang. Bu dasturchiga yarim yildan keyin o’zingiz aylanishingiz mumkin:) Kerak bo’lmagan joyda turli xil dasturiy tamoyillarni, arxitektura shablonlarini, dasturiy tillarning yangi xususiyatlarini v.k. ishlatishga urunmang, chunki bu kodingizga ortiqcha murakkablik qo’shadi.
7. Loyiha arxitekturasini mayda funksiyalargacha boshida o’ylab chiqishga urunmang.
«Ideal arxitekturani» o’ylab chiqishga 1 oy ketkazishdan ko’ra, ishlayotgan, lekin kichik nuqsonlari bor prototipni yaratishga bir-ikki kun ajratgan yaxshi. Tajribaga asosan, ikkala holatda xam loyihaga ko’plab o’zgarishlar kiritiladi va o’ylangan arxitektura yaroqsiz holatga kelib qolishi mumkin.
8. Copy-pastedan qo’rqmang.
Qaytariluvchi kodni, uning yaroqliligini isbotlagach, alohida funksiyalarga o’girish mumkin.
9. Kod asta ishlashni boshlamaguncha, uni optimizatsiya qilishga ko’p etibor bermang.
Optimizatsiya qilinishi mobaynida o’zgargan kod tushunarsiz holatga kelib qolishi mumkin. Boz ustiga, bu kod, loyihaning umumiy tezligiga, ko’pincha, juda kam ta’sir ko’rsatadi.
10. Bitta universal va 10 ga yaqin parametrlarni qabul qiluvchi funksiyadan, 10 ta kichik va sodda funksiya afzalroq.
Funksiyangizda qancha ko’p parametr bo’lsa, uni ishlatish, kengaytirish va refaktoring qilish shuncha qiyinlashadi. Shuning uchun funksiyalarni iloji boricha sodda va ixcham qilib yarating.
Xulosa
Yuqorida keltirib o’tilgan maslahatlarni qonun sifatida qabul qilish shart emas. Ular hammaga ham mos kelmaydi, chunki har bir dasturchining o’zining
tajribasi va qarashlari uning ish usulini belgilab beradi. Mening bu maslahatlarni ko’zdan kechirib, kerakli xulosa chiqarishingizga maslahat berar edim.
Manba:
Umumiy Dasturlash
Dasturchilar uchun o’nta tavsiya