Hammaga salom, JavaRush jamoasi! Bugun biz kod sifati haqida gaplashamiz. Ha, ha, aziz do'stlar. Hech kim mukammal emas. Har bir inson bir kun kelib kod yaxshiroq bo'lishi mumkinligini tushunadi ... Lekin bu vaziyatda nima qilish kerak? Hech bo'lmaganda, bu masalani tadqiq qilishni boshlang. Siz shu yerda ekansiz, demak, mavzu siz uchun qiziq, shuning uchun ketaylik. Bugun biz kodingizni yaxshiroq va toza qilish usullarini tasvirlab beramiz. Kelajakda siz hozirgi kodingizdan uyalmasligingiz uchun!..)) Bu usullarning barchasi dasturchiga yaxshi dasturchi bo'lishga yordam beradi.
Habré JavaRush :D haqidagi maqolalarni o'qing, shu jumladan meniki. Yaxshi bloglarni kuzatib boring va postlarga sharh bering, fikringizni o'rtoqlashing.
1. Agar siz kodingizni yaxshilamoqchi bo'lsangiz, boshqa birovning kodini o'qing
Agar siz dasturlash ko'nikmalaringizni keskin oshirmoqchi bo'lsangiz, siz... boshqa dasturchilar tomonidan yozilgan kodni o'qishingiz kerak. Siz bunga ishonishingiz mumkin, ishonolmaysiz. Ammo tavakkal qilsangiz, vaqtingiz uchun mukofot bo'lishiga va'da beraman. Masalan, Habré-da HashMap, ArrayList, LinkedList va boshqalar qanday ishlashini o'qimang, balki ularning kodini o'qing va o'zingiz aniqlang. Mana o'qish uchun darslar ro'yxati:-
HashMap - intervyularda eng ko'p beriladigan savol. Bir tosh bilan bir nechta qushlarni o'ldirishingiz mumkin: kodni tushuning va kerakli bilimlarni oling.
-
ArrayList HashMap bilan bir xil. U erda hech qanday murakkab narsa yo'q, lekin haqiqatan ham o'qish va tushunishga arziydi.
-
String - bu ajoyib misol. Nima uchun o'zgarmasligini tushuning.
-
AtomicInteger - bu ajoyib sinf: u Integer obyektlarida atomik operatsiyalarni qanday bajarish jarayonini tavsiflaydi.
-
Va keyin - hech bo'lmaganda ketma-ket barcha sinflar ...)
2. Code Conventions - kod yozish qoidalariga rioya qiling
Kodlash konventsiyalari - bu kompaniya yoki muayyan loyihada yozilgan kodning har bir jihati uchun dasturlash uslubi va texnikasi bo'yicha ko'rsatmalarni o'z ichiga olgan ishlab chiqish guruhlari tomonidan ishlab chiqilgan ko'rsatmalar to'plami. Bu konventsiyalar odatda har bir dasturlash tiliga xos boʻlib, fayllarni tashkil qilish, chekinish, sharhlar, deklaratsiyalar, operatorlar, boʻsh joy, nomlash qoidalari, dasturlash texnikasi va tamoyillari, dasturlash qoidalari, eng yaxshi arxitektura amaliyotlari va hokazolarni qamrab oladi. Muayyan standartlarning asosiy afzalligi shundaki, kod bir xil ko'rinadi va bir xil uslubda yozilgan. Bu uni yanada o'qilishi mumkin qiladi va dasturchilarga boshqa dasturchi tomonidan yozilgan kodni tushunishga yordam beradi. Agar kodlash standartlariga rioya qilinsa va ishlab chiqish jarayonida izchil qo'llanilsa, kelajakda kodni saqlash va kengaytirish, uni qayta tiklash va integratsiya mojarolarini hal qilish osonroq bo'ladi. Kodlash konventsiyalari bir necha sabablarga ko'ra dasturchilar uchun muhim:- Dasturiy ta'minot narxining 40%-80% uni saqlashga sarflanadi;
- Muallif umri davomida deyarli har qanday dasturiy ta'minotni saqlamaydi;
- Kod konventsiyalari dasturiy ta'minotni o'qishni yaxshilaydi, bu dasturchilarga yangi kodni tezroq tushunishga imkon beradi.
3. Code Review-dan foydalaning - kodni boshqalar tomonidan tekshirish
Kodni tekshirish kodni takomillashtirishning eng kuchli vositalaridan biridir. Nega? Chunki kodni yozmagan mutaxassislar ko'rib chiqadi. Va yangi ko'rinish juda foydali. Va ko'pincha Code Review ochiqchasiga dahshatli kod yozishni oldini olishga yordam beradi. Bilaman, bu har doim ham mumkin emas, chunki siz buni qilishni xohlaydigan boshqa odamni topishingiz kerak. Ammo bu ushbu vositadan foydalanishga arzimaydi degani emas. Aksincha: bu hamfikrlarni topish uchun sababdir, ular uchun kod sifatini yaxshilash ham muhimdir. Aytgancha, ularni JavaRush-da topishni kim sizga taqiqlaydi? Hamma dasturchi bo'lishni xohlaydigan joyda.4. Birlik testlarini yozing - birlik testlari
Hozirgacha kodni yaxshilashning eng sevimli usuli bu birlik testlarini yozishdir. Bundan tashqari, siz ularni qanchalik ko'p yozsangiz, shuncha yaxshi bo'ladi. Kompyuter dasturlashda birlik testi dasturiy ta'minotni ishlab chiqish jarayoni bo'lib, unda manba kodining birlik deb ataladigan eng kichik sinovdan o'tkaziladigan qismi ular kutilganidek ishlashini tekshirish uchun individual va mustaqil ravishda sinovdan o'tkaziladi. Bu kodni chiqarishdan oldin algoritmlar va/yoki mantiqdagi nosozliklarni aniqlashga yordam beradi. Birlik testi kodingizning tegishli tuzilishini talab qilganligi sababli, kodni kichikroq va ko'proq yo'naltirilgan funktsiyalarga bo'lish kerakligini anglatadi. Ularning har biri bir nechta turli xil operatsiyalarni bajaradigan katta funktsiyalardan ko'ra, ma'lumotlar to'plamida bitta operatsiya uchun javobgardir.(Ular aytganidek, Yagona javobgarlik printsipidan salom ...) Yaxshi sinovdan o'tgan kod yozishning ikkinchi foydasi mavjud kodni buzish funksiyasiga kichik o'zgarishlar bo'yicha kelajakdagi nosozliklarni oldini olishingiz mumkin. Muvaffaqiyatsizlik yuzaga kelganda, birlik testlari sizga biror narsa noto'g'ri yozilganligini aytadi. Bir qarashda, ishlab chiqish jarayonida birlik testlarini yozish uchun vaqt sarflash qo'shimcha xarajat kabi ko'rinadi. Biroq, bu kelajakda vaqtni tejaydi, bu esa disk raskadrovka uchun sarflanishi kerak bo'ladi. Bu bosqichma-bosqich jarayon bo'lishi kerak. Shuning uchun, davom eting va qo'shiq ayting - barcha usullar va sinflar uchun testlar yozing :D5. Kod sifatini yaxshilash uchun vositalardan foydalaning
Hech qachon xato qilmaydigan ishlab chiquvchi yo'q. Odatda kompilyator sintaksis va arifmetik muammolarni ushlaydi va stek izini chiqaradi. Ammo kompilyator tushunmaydigan muammolar hali ham bo'lishi mumkin. Masalan, noto'g'ri amalga oshirilgan talablar, noto'g'ri algoritmlar, noto'g'ri kod tuzilishi yoki jamoaga tajribadan ma'lum bo'lgan ba'zi muammolar. Bunday xatolarni aniqlashning yagona yo'li - ba'zi bir yuqori darajali dasturchilardan kodingizni ko'rib chiqishni so'rashdir. Bu yondashuv panatseya emas va ozgina o'zgaradi. Jamoadagi har bir yangi ishlab chiquvchi bilan siz uning kodiga qarab qo'shimcha bir juft ko'zga ega bo'lishingiz kerak. Yaxshiyamki, kodingiz sifatini nazorat qilishga yordam beradigan ko'plab vositalar mavjud. Turli loyihalardagi ishimda Checkstyle, PMD, FindBugs, SonarQube dan foydalandim. Boshqalar ham bor. Ularning barchasi odatda sifatni tahlil qilish va foydali hisobotlarni yaratish uchun ishlatiladi. Ko'pincha bu hisobotlar Jenkins kabi doimiy integratsiya serverlari tomonidan nashr etiladi.6. Oddiy va tushunarli kod yozing
Har doim oddiy, tushunarli va mantiqiy kod yozing. Odamlar buni qilish qobiliyatini isbotlash uchun murakkab kod yozishga moyil. Oddiy, ammo mantiqiy kod har doim yaxshi ishlaydi, kamroq muammolarga olib keladi va yanada kengaytiriladi. Yaxshi kod yaxshi hujjatlarni anglatadi. Agar siz sharh qo'shish haqida o'ylayotgan bo'lsangiz, o'zingizdan so'rang: " Ushbu sharh kerak bo'lmasligi uchun kodni qanday yaxshilashim mumkin? ~ Stiv Makkonnel.7. Hujjatlarni o'qing
Yaxshi dasturchilarning muhim odatlaridan biri bu ko'plab hujjatlarni o'qishdir. Bu spetsifikatsiyalar, JSR, API hujjatlari, oʻquv qoʻllanmalari va boshqalar boʻlsin. Hujjatlarni oʻqish sizga eng yaxshi dasturlash uchun mustahkam poydevor yaratishga yordam beradi. Va nihoyat, o'zingizni boshqalar bilan solishtirmang.O'zingizni boshqalar bilan solishtirish faqat salbiy his-tuyg'ularga va nosog'lom raqobatga olib keladi. Har kimning o'ziga xos kuchli va zaif tomonlari bor. Shuning uchun ularni bilish va ular bilan ishlash muhimdir. O'zingizni tahlil qiling, kuchli tomonlaringizni sanab o'ting va ular ustida ishlang. Dasturlash juda qiziqarli: undan zavqlaning."Bir odamning doimiysi boshqa odamning o'zgaruvchisidir."
8. Qiziqarli bloggerlarni kuzatib boring
Dunyo bo'ylab minglab ishqibozlar bir xil texnologiyalar ustida ishlamoqda va ular haqida yozmoqda. Bloglar ko'pincha dasturchilarning o'zlari tomonidan yoziladi va ularning aksariyati shaxsiy fikr va tajribalarini baham ko'radi. Bloglarda bir xil texnologiyaning turlicha qarashlarini ko'rishingiz mumkin. Bloglarda ham yaxshi, ham yomon texnologiyalarni ko'rishingiz mumkin. Hech bo'lmaganda,9. Maxsus kitoblarni o'qing
Yaxshi kitobni hech narsa almashtira olmaydi. Yaxshi kitob asosiy tushunchalarni ancha sodda tarzda o'rgatadi va haqiqiy dunyo ob'ektlariga taalluqlidir. Ularning mualliflari ajoyib dasturchilardir. Kitoblarni o'qish orqali siz boshqalarning tajribasidan o'rganishingiz mumkin. Men “Java. Joshua Bloch tomonidan samarali dasturlash. Bu kitob etmish sakkizta almashtirib bo'lmaydigan dasturchi qoidalarini taqdim etadi: har kuni duch keladigan dasturlash muammolari uchun ishlaydigan, eng yaxshi echimlar. Unda samarali, yaxshi ishlab chiqilgan dasturlarni yozish uchun foydalanishingiz mumkin bo'lgan eng amaliy, nufuzli ko'rsatmalar mavjud. Agar siz Java-ni endigina boshlayotgan bo'lsangiz va dasturlash tajribasiga ega bo'lmasangiz, Sams Teach Yourself Java 2 ni 24 soat ichida o'qishni xohlashingiz mumkin. Toza kod yozish uchun esa "Robert Martin tomonidan toza kod" nomli ajoyib kitob mavjud. Shundan so'ng, kodga nisbatan "go'zallik hissi" paydo bo'ladi.10. Kod! Kod! Kod!
Kitob yodlash bilan yaxshi dasturchi bo‘lib bo‘lmaydi. Nazariy tushunchalar haqida gapirish oson. Lekin siz kod yozishda faqat til cheklovlarini o'rganishingiz yoki eng yaxshi amaliyotlarni ishlab chiqishingiz mumkin. Shuning uchun, yaxshi dasturchi bo'lish uchun siz juda ko'p kod yozishingiz kerak. Agar siz yangi boshlovchi bo'lsangiz, Fibonachchi seriyasi, palindrom, Paskal uchburchagi va boshqalar kabi oddiy masalalar uchun dasturlar yozishdan boshlang va keyin ikkilik qidiruv daraxti va hokazo kabi kattaroq masalalarga o'ting. Agar siz Java dasturlarini mashq qilish uchun onlayn platforma qidirayotgan bo'lsangiz, Kodlash Ground bir ko'z tashlang . Bundan tashqari, siz CS50 kursiga o'tishingiz mumkin , uning tarjimasi bizga "kimligini bilasiz" tomonidan taqdim etilgan :DKeling, xulosa qilaylik
Hech narsa qilmagan odam xato qilmaydi. Shuning uchun biz sabr-toqatli bo'lishimiz va mehnatkash yapon kabi kodlash ko'nikmalarimizni oshirishimiz kerak. Buning uchun unutmang:- boshqa birovning kodini o'qish;
- Kodeksni qayta ko'rib chiqishni amalga oshirish va so'rash;
- birlik testlarini yozish;
- kodni yaxshilash uchun vositalardan foydalanish;
- oddiy va tushunarli kod yozish;
- imkoni bo'lganlarning hujjatlarini o'qing;
- qiziqarli dasturchilarni kuzatib boring;
- maxsus kitoblarni o'qish;
- Kod! Kod! Kod!
- GitHub-da Roman -ga obuna bo'ling .
foydali havolalar
- Dasturlash mahoratingizni oshirishning 10 ta usuli
- Dasturlash ko'nikmalaringizni oshirishning oson usullaridan biri bu boshqa odamlarning kodini o'qishdir
- Java kodining sifatini yaxshilash uchun 11 ta eng yaxshi amaliyot va vositalar
- Java dasturlash mahoratini qanday oshirish mumkin
- Yaxshiroq Java dasturchisi bo'lish uchun 10 ta maslahat
Ko'proq maqolalarim
- Intellij IDEA-da disk raskadrovka: yangi boshlanuvchilar uchun qo'llanma
- Skyscanner API uchun mijoz yaratish va uni jCenter va Maven Central-da nashr qilish bo'yicha qo'llanma [1-qism]
- Aviachiptalar narxini monitoring qilish tizimini yaratish: bosqichma-bosqich qo'llanma [1-qism]
- Jurnal: nima, qanday, qaerda va nima bilan? Qanday qilib intervyu testi ochiq manba kutubxonasiga aylandi
- Muvaffaqiyat tarixi. Haftada 20 soat dasturlash, magistratura va shaxsiy hayot
- Qanday qilib ish topish mumkin? Rezyumelarni yuborish bo'yicha maslahatlar
GO TO FULL VERSION