"Clean Code" tamoyillari
Biz nima uchun "clean code" yozishga harakat qilishimiz kerak? Avvalo biz dasturlarni kompyuterlar tushunishi uchun yozamiz. Lekin bizning kodimiz doim bir xil qolavermaydi, unga yangi qo'shimchalar qo'shilishi, eskilarini yana ham optimizatsiya qilishga to'gri kelishi, yoki boshqa yoldan foydalansa yaxshiroq samara berishi mumkin bo'lgan kodga o'zgartilishi mumkin. Agar siz ortiq loyihada qatnashmayotgan bo'lsangiz bu kabi ishlarni boshqa dasturchilar amalga oshiradi. Yoki siz bir loyihada bir necha dasturchilar bilan birgalikda ishlayotgan bo'lishingiz mumkin. Shuning uchun biz dasturlarimizni boshqalar ham tushuna oladigan yo'lda yozishimiz kerak. Keling unda "clean code" nima ekanligi haqida gaplashamiz.
Clean code - bu shunday kodki, u o'qishga, tushunishga va saqlashga oson. Buning uchun u kodni o'qishni, test qilishni osonlatadigan, kamroq xatoga moyil qiladigan "Software design principles" deb ataluvchi tamoyillarga ergashish kerak bo'ladi. Quyida "clean code" ga erishish uchun muhim tavsiyalarni keltirib o'taman:
- Clarity(aniqlik) - kodni boshqalar o'qishga va tushunishga qiynalmaydigan qilib yozish.
- Simplicity(soddalik) - kod iloji boricha sodda va ortiqcha murakkablikdan holi bo'lishi kerak.
- Comments(izohlar) - bir qarashda tushunib bo'lmaydigan, murakkab kodlar uchun muxtasar izoh bo'lishi kerak.
- Naming(nomlash) - o'zgaruvchilar, funksiyalar va class larga ma'noli va ifodali nom qo'yish. Ma'noni anglatuvchi nom qo'yish, nima uchunligi haqida comment yozgandan yaxshiroq.
- Formatting(tartiblash) - kodning o'qishlik darajasini oshirish uchun uni tartibga solish.
- Functionality(funksionalligi) - kod kichik va yagona maqsadga ega bo'lgan funksiya va class larga ajratilgan bo'lishi kerak.
- Error handling(xatolar uchun holat) - kod ehtimoliy xatolarni ushlay olishi va bunday vaziyatlar uchun ham aniq ko'rsatmalarga ega bo'lishi kerak.
- Testing(testlash) - kod test qilishga oson va yuqori test natijalariga ega bo'lish kerak.
- Reusability(qayta ishlatilish) - kod takroriy ishlatilishga oson qilib yozilishi kerak.
- Performance(ishlashi) - kodning samarasi va tezkorligi ahamiyatli bo'lishi kerak.
Bu kabi yo'riqnomalarga amal qilish huddiki vaqt olayotganday tuyuliladi, ammo bularga amal qilishni boshlasangiz, kelajakdagi jamoaviy ishlarda ancha vaqt tejashga yordam beradi. Bundan tashqari kodimizning sifatini oshirishga yordam beruvchi bir qancha dizayn tamoyillari mavjud. SOLID, KISS, DRY kabi tamoyillarni allaqachon eshitgan bo'lsangiz ajab emas. Agar bularning barchasi haqida shu maqolada yozadigan bo'lsam, o'qishga odam erinib qoladi. Shu sabab bular va boshqa foydali tamoyillar haqida keyingi maqolada yozaman.