JavaRush /Java blogi /Random-UZ /Shaxsiy tajribangizda sinab ko'rilgan kodingizni yaxshila...

Shaxsiy tajribangizda sinab ko'rilgan kodingizni yaxshilashning 10 ta usuli

Guruhda nashr etilgan
Hammaga salom, JavaRush jamoasi! Shaxsiy tajribangizda sinab ko'rilgan kodingizni yaxshilashning 10 ta usuli - 1 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.

1. Agar siz kodingizni yaxshilamoqchi bo'lsangiz, boshqa birovning kodini o'qing

Shaxsiy tajribangizda sinab ko'rilgan kodingizni yaxshilashning 10 ta usuli - 2Agar 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:
  1. HashMap - intervyularda eng ko'p beriladigan savol. Bir tosh bilan bir nechta qushlarni o'ldirishingiz mumkin: kodni tushuning va kerakli bilimlarni oling.

  2. ArrayList HashMap bilan bir xil. U erda hech qanday murakkab narsa yo'q, lekin haqiqatan ham o'qish va tushunishga arziydi.

  3. String - bu ajoyib misol. Nima uchun o'zgarmasligini tushuning.

  4. AtomicInteger - bu ajoyib sinf: u Integer obyektlarida atomik operatsiyalarni qanday bajarish jarayonini tavsiflaydi.

  5. Va keyin - hech bo'lmaganda ketma-ket barcha sinflar ...)

Agar jiddiyroq narsa haqida gapiradigan bo'lsak, albatta, Pivotal kodini o'qishga arziydi. Bu bolalar Java dunyosida eng ko'p terilgan ekotizimni yozdilar. Ularning kodi, albatta, o'qishga arziydi. Shuning uchun, men sizga Spring Core bilan boshlashni maslahat beraman . Notanish manba kodini o'qish qiyin, ammo juda foydali ish.)

2. Code Conventions - kod yozish qoidalariga rioya qiling

Shaxsiy tajribangizdan sinab ko'rilgan kodingizni yaxshilashning 10 ta usuli - 3Kodlash 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.
Rostini aytsam, men kodlash standartlarining katta muxlisiman. Men uchun ular haqida muhokama qilish va bahslashishga vaqt ajratish mantiqan to'g'ri keladi, chunki bu sizning vaqtingiz va kelajakda kuchingizni tejaydigan qimmatli faoliyatdir. Kodeks konventsiyalari tez-tez ko'rib chiqilishi kerak. Qoidalarni "majburiy" dan "ixtiyoriy" ga va aksincha tarjima qilish mumkin. Agar ulardan ba'zilari to'g'ri ishlamasa, ularni qayta ishlab chiqish yoki ko'rsatmalardan olib tashlash kerak.

3. Code Review-dan foydalaning - kodni boshqalar tomonidan tekshirish

Kodni tekshirish kodni takomillashtirishning eng kuchli vositalaridan biridir. Shaxsiy tajribangizda sinab ko'rilgan kodingizni yaxshilashning 10 ta usuli - 4Nega? 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

Shaxsiy tajribangizda sinab ko'rilgan kodingizni yaxshilashning 10 ta usuli - 5Hozirgacha 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 :D

5. Kod sifatini yaxshilash uchun vositalardan foydalaning

Shaxsiy tajribangizdan sinab ko'rilgan kodingizni yaxshilashning 10 ta usuli - 6Hech 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

Shaxsiy tajribangizdan sinab ko'rilgan kodingizni yaxshilashning 10 ta usuli - 7Har 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

Shaxsiy tajribangizdan sinab ko'rilgan kodingizni yaxshilashning 10 ta usuli - 8Yaxshi 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."

Alan J. Perlis

8. Qiziqarli bloggerlarni kuzatib boring

Shaxsiy tajribangizda sinab ko'rilgan kodingizni yaxshilashning 10 ta usuli - 9Dunyo 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, Habré JavaRush :D haqidagi maqolalarni o'qing, shu jumladan meniki. Yaxshi bloglarni kuzatib boring va postlarga sharh bering, fikringizni o'rtoqlashing.

9. Maxsus kitoblarni o'qing

Shaxsiy tajribadan sinovdan o'tgan kodingizni yaxshilashning 10 usuli - 10Yaxshi 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. Shaxsiy tajribangizdan sinab ko'rilgan kodingizni yaxshilashning 10 usuli - 11Nazariy 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 :D

Keling, 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

Ko'proq maqolalarim

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION