CodeGym /Java Blog /Random /10 paraan upang mapabuti ang iyong code, na napatunayan s...
John Squirrels
Antas
San Francisco

10 paraan upang mapabuti ang iyong code, na napatunayan sa pamamagitan ng personal na karanasan

Nai-publish sa grupo
Kumusta sa lahat sa komunidad ng CodeGym! 10 paraan upang mapabuti ang iyong code, na napatunayan sa pamamagitan ng personal na karanasan - 1Ngayon ay pag-uusapan natin ang tungkol sa kalidad ng code. Oo, mahal na mga kaibigan. Walang perpekto. Napagtanto ng lahat sa isang punto na maaaring maging mas mahusay ang code... Ngunit ano ang gagawin sa sitwasyong ito? Sa pinakamababa, simulan ang pagsasaliksik sa isyung ito. Ngunit narito ka na, ibig sabihin, ang paksa ay dapat na interesado sa iyo, kaya't pumunta tayo. Ngayon ay ilalarawan namin ang mga paraan na maaari mong gawing mas mahusay at mas malinis ang iyong code. Kaya hindi mo ikakahiya ang iyong kasalukuyang code sa hinaharap! :) Lahat ng mga pamamaraang ito ay makakatulong sa isang programmer na maging isang mahusay na programmer.10 paraan upang mapabuti ang iyong code, napatunayan sa pamamagitan ng personal na karanasan - 2

1. Kung gusto mong pagbutihin ang iyong code, basahin ang code ng iba

Kung gusto mong pagbutihin nang husto ang iyong mga kasanayan sa programming, kailangan mong... basahin ang code na isinulat ng ibang mga programmer. Maniwala ka man o hindi. Ngunit kung gagawin mo ang panganib, ipinapangako ko: ikaw ay gagantimpalaan para sa oras na ginugol. Halimbawa, huwag magbasa sa medium.com tungkol sa kung paano gumagana ang HashMap, ArrayList, LinkedList, atbp. Sa halip, basahin ang kanilang source code at alamin ito sa iyong sarili. Narito ang isang listahan ng mga klase na babasahin:
  • Ang mga madalas itanong sa mga panayam ay tungkol sa HashMap. Maaari kang pumatay ng dalawang ibon gamit ang isang bato: mauunawaan mo ang code at makakuha ng kaalaman na kailangan mo.
  • Ang parehong bagay ay totoo tungkol sa ArrayList. Walang kumplikado, ngunit ang source code ay talagang sulit na basahin at unawain.
  • Ang string ay isang mahusay na halimbawa. Unawain kung bakit ito ay hindi nababago.
  • Ang AtomicInteger ay isang cool na klase: tinutukoy nito ang mga atomic na operasyon sa mga bagay na Integer.
  • Pagkatapos nito, mabuti, maaari naming ilista ang bawat klase, isa-isa :)
Mas seryoso, dapat mong basahin ang code mula sa Pivotal. Isinulat ng mga tao doon ang pinaka-in-demand na ecosystem sa mundo ng Java. Talagang sulit na basahin ang kanilang code. Inirerekomenda ko na magsimula ka sa Spring Core . Ang pagbabasa ng hindi pamilyar na source code ay mahirap ngunit kapaki-pakinabang na gawain. :)

2. Sundin ang mga code convention

10 paraan upang mapabuti ang iyong code, napatunayan sa pamamagitan ng personal na karanasan - 3Ang mga coding convention ay isang set ng mga alituntunin na ginawa ng mga development team. Kasama sa mga ito ang mga alituntunin para sa istilo ng coding at mga diskarte para sa bawat aspeto ng code. Ang mga convention na ito ay maaaring isulat para sa buong kumpanya o para sa isang partikular na proyekto. Karaniwang partikular ang mga coding convention sa bawat programming language at cover file organization, indentation, komento, deklarasyon, operator, space, mga convention sa pagbibigay ng pangalan, mga diskarte at prinsipyo ng programming, mga panuntunan sa programming, pinakamahusay na kasanayan para sa arkitektura, at iba pa. Ang pangunahing benepisyo ng ilang mga pamantayan ay ang katotohanan na ang code ay mukhang pareho at nakasulat sa parehong estilo. Ginagawa nitong mas nababasa at tinutulungan ang mga programmer na maunawaan ang code na isinulat ng isa pang programmer. Kung ang mga pamantayan ng coding ay sinusunod at patuloy na inilalapat sa buong proseso ng pagbuo, magiging mas madali sa hinaharap na panatilihin at palawigin ang iyong code, i-refactor ito, at lutasin ang mga salungatan sa pagsasama. Ang mga coding convention ay mahalaga sa mga programmer para sa ilang kadahilanan:
  • 40-80% ng halaga ng software ay napupunta sa pagpapanatili nito,
  • Halos walang software ang pinananatili ng may-akda nito sa buong buhay nito,
  • Pinapabuti ng mga coding convention ang pagiging madaling mabasa ng source code sa pamamagitan ng pagpayag sa mga programmer na maunawaan ang bagong code nang mas mabilis.
Upang maging matapat, ako ay isang malaking tagahanga ng mga pamantayan ng coding. Para sa akin, makatuwiran na gumugol ng oras sa pagtalakay at pakikipagtalo tungkol sa kanila, dahil ito ay isang mahalagang aktibidad na magliligtas sa iyo ng oras at pagsisikap sa hinaharap. Ang mga code convention ay dapat na masuri nang madalas. Ang mga panuntunan ay maaaring baguhin mula sa "kinakailangan" sa "opsyonal" at vice versa. Kung ang ilan sa mga ito ay hindi gumana gaya ng inaasahan, dapat silang baguhin o alisin sa mga alituntunin.

3. Gumamit ng mga pagsusuri sa code

Ang pagsusuri ng code ay isa sa pinakamakapangyarihang tool para sa pagpapahusay ng code. 10 paraan upang mapabuti ang iyong code, napatunayan sa pamamagitan ng personal na karanasan - 4Bakit? Dahil ang code ay titingnan ng mga eksperto na hindi sumulat nito. At ang isang sariwang hitsura ay lubhang kapaki-pakinabang. At ang pagsusuri ng code ay kadalasang nakakatulong na maiwasan ang pagsusulat ng talagang kahila-hilakbot na code. Alam kong hindi laging posible ang mga pagsusuri sa code, dahil kailangan mong maghanap ng ibang tao na handang gumawa nito. Ngunit hindi iyon nangangahulugan na dapat mong laktawan ang paggamit ng tool na ito. Kabaligtaran: ang mga pagsusuri sa code ay isang dahilan upang makahanap ng mga taong katulad ng pag-iisip na kailangan ding pagbutihin ang kalidad ng kanilang code. Siyanga pala, sino ang pipigil sa iyo na hanapin sila dito sa CodeGym? Sa isang lugar kung saan gustong maging programmer ng lahat.

4. Sumulat ng mga unit test

Ang aking paboritong pamamaraan para sa pagpapabuti ng code ay tiyak na pagsulat ng mga pagsubok sa yunit. Kung mas marami sa kanila ang isinulat mo, mas mabuti. Sa computer programming, ang unit testing ay isang proseso ng pag-develop ng software kung saan ang pinakamaliit na nasusuri na piraso ng source code, na tinatawag na unit, ay sinusuri nang isa-isa at independiyente upang makita kung gumagana ito gaya ng inaasahan. Makakatulong ito sa iyong matuklasan ang mga pagkabigo sa iyong mga algorithm at/o lohika bago mo ilabas ang iyong code. Dahil kinakailangan ng unit testing na maayos ang pagkakaayos ng iyong code, dapat hatiin ang code sa mas maliit, mas nakatutok na mga function. Ang bawat isa ay may pananagutan para sa isang solong operasyon sa isang dataset, sa halip na malalaking function na nagsasagawa ng ilang magkakaibang mga operasyon (ang solong prinsipyo ng responsibilidadkumusta...). Ang pangalawang benepisyo ng pagsulat ng mahusay na nasubok na code ay na maiiwasan mo ang pagsira ng code kapag gumagawa ng maliliit na pagbabago sa umiiral nang functionality. Kapag nabigo ang mga unit test, sasabihin nila sa iyo na may naisulat nang hindi tama. Sa unang sulyap, ang oras ng pagbuo na ginugol sa pagsulat ng mga pagsubok sa yunit ay mukhang isang dagdag na gastos. Gayunpaman, ang mga unit test ay makakatipid ng oras sa pag-debug sa hinaharap. Ito ay dapat na isang hakbang-hakbang na proseso. Kaya't higit tayong sumulong nang may ngiti — magsusulat tayo ng mga pagsusulit para sa bawat pamamaraan at klase :D

5. Gumamit ng mga tool upang mapabuti ang kalidad ng code

Walang developer na hindi kailanman nagkamali. Karaniwan, ang compiler ay nakakakuha ng mga problema sa syntax at arithmetic at ipinapakita ang stack trace. Ngunit maaaring lumitaw pa rin ang ilang mga problema na hindi nahuhuli ng compiler. Halimbawa, hindi wastong ipinatupad na mga kinakailangan, maling algorithm, hindi wastong pagkakaayos ng code, o ilang iba pang potensyal na problema na alam ng komunidad mula sa karanasan. Ang tanging paraan upang mahuli ang mga error na tulad nito ay ang humiling sa isang mas nakatatandang developer na suriin ang iyong code, tama ba? Ngunit ang diskarte na ito ay hindi isang panlunas sa lahat at hindi magbabago nang malaki. Para sa bawat bagong developer sa team, dapat mayroon kang karagdagang pares ng mga mata na tumitingin sa kanyang code. Sa kabutihang-palad, maraming mga tool doon na makakatulong sa iyong kontrolin ang kalidad ng iyong code. Gumamit ako ng Checkstyle, PMD, FindBugs, at SonarQube sa aking trabaho sa iba't ibang proyekto. At meron ding iba. Ang mga ito ay karaniwang ginagamit upang suriin ang kalidad ng code at bumuo ng ilang kapaki-pakinabang na ulat. Kadalasan ang mga ulat na ito ay nai-publish ng tuluy-tuloy na mga server ng pagsasama gaya ng Jenkins.

6. Sumulat ng simple at prangka na code

10 paraan upang mapabuti ang iyong code, napatunayan sa pamamagitan ng personal na karanasan - 5Palaging magsulat ng simple, naiintindihan, at lohikal na code. Ang mga tao ay may posibilidad na magsulat ng kumplikadong code upang patunayan na magagawa nila ito. Ang simple at lohikal na code ay palaging gumagana nang maayos, humahantong sa mas kaunting mga problema, at mas napapalawak. Ang magandang code ay ang pinakamahusay na dokumentasyon. Kung sa tingin mo ay magdagdag ng komento, tanungin ang iyong sarili: "Paano ko mapapabuti ang code para hindi na kailangan ang komentong ito?" — Steve McConnell.

7. Basahin ang dokumentasyon

10 paraan upang mapabuti ang iyong code, napatunayan sa pamamagitan ng personal na karanasan - 6Ang isa sa pinakamahalagang gawi ng mahuhusay na programmer ay ang pagbabasa ng maraming dokumentasyon. Kung ang mga detalye nito, JSR, API docs, tutorial, o iba pa, ang pagbabasa ng dokumentasyon ay nakakatulong sa iyo na bumuo ng matatag na pundasyon para sa iyong pinakamahusay na programming. Last but not least, wag mong ikumpara ang sarili mo sa iba. Ang paghahambing ng iyong sarili sa iba ay hahantong lamang sa mga negatibong damdamin at hindi malusog na kompetisyon. Ang bawat tao ay may kanya-kanyang lakas at kahinaan. Nangangahulugan ito na mahalagang kilalanin sila at makipagtulungan sa kanila. Mag-imbentaryo ng iyong sarili — ilista ang iyong mga lakas at gawin ang mga ito. Ang programming ay isang tunay na kasiyahan: tamasahin ito.

"Ang pare-pareho ng isang tao ay ang variable ng isa pang tao."

Alan J. Perlis

8. Subaybayan ang mga kawili-wiling blogger

Libu-libong mahilig sa buong mundo ang nagtatrabaho at nagsusulat tungkol sa parehong mga teknolohiya. Ang mga blog ay madalas na isinulat ng mga programmer mismo, at karamihan sa kanila ay nagbabahagi ng mga personal na opinyon at karanasan. Sa pamamagitan ng mga blog, makikita mo ang iba't ibang pananaw sa parehong teknolohiya. Makakakita ka ng mabuti at masamang teknolohiya sa mga blog. Sa pinakamababa, magbasa ng mga artikulo sa Coding Dojo Blog at CodeGym :) Subaybayan ang magagandang blog at magkomento sa mga post, ibahagi ang iyong opinyon.

9. Magbasa ng mga libro tungkol sa propesyon

Walang makakapagpapalit sa isang magandang libro. Ang isang mahusay na libro ay nagtuturo ng mga pangunahing konsepto sa isang mas simpleng anyo at naaangkop sa mga bagay sa totoong mundo. Ang kanilang mga may-akda ay mahusay na programmer mismo. Sa pamamagitan ng pagbabasa ng mga libro, maaari kang matuto mula sa karanasan ng ibang tao. Iminumungkahi kong basahin mo ang "Effective Java" ni Joshua Bloch. Ang aklat na ito ay nagtatanghal ng pitumpu't walong kailangang-kailangan na mga alituntunin ng hinlalaki para sa mga programmer: ang pinakamahusay na gumaganang solusyon para sa mga problema sa programming na kinakaharap mo araw-araw. Naglalaman ito ng pinakapraktikal, makapangyarihang mga patnubay para sa pagsulat ng epektibo, mahusay na disenyong mga programa. Kung nagsisimula ka pa lang sa Java at walang karanasan sa programming, maaari mong basahin ang "Sams Teach Yourself Java 2 in 24 Oras". At para sa pagsulat ng malinis na code, mayroong isang mahusay na libro, "Clean Code", ni Robert Martin. Pagkatapos basahin ito,

10. Code! Code! Code!

Hindi ka maaaring maging isang mahusay na programmer sa pamamagitan lamang ng pagsasaulo ng isang libro. Madaling pag-usapan ang mga teoretikal na konsepto. Ngunit maaari mo lamang matutunan ang mga limitasyon ng isang wika o gumawa ng pinakamahuhusay na kagawian kapag sumulat ka ng code. Samakatuwid, upang maging isang mahusay na programmer, kailangan mong magsulat ng maraming code. Kung ikaw ay isang baguhan, magsimula sa pamamagitan ng pagsusulat ng mga programa para sa mga simpleng gawain tulad ng Fibonacci series, palindromes, Pascal's triangle, atbp. Pagkatapos ay lumipat sa mas malalaking gawain tulad ng binary search tree, atbp. Kung naghahanap ka ng online na platform para sa pagsasanay ng Java mga programa, tingnan ang Coding Ground . Gumawa ng iyong paraan sa pamamagitan ng mga kurso sa programming at ginagarantiya ko na ang iyong mga kasanayan ay magiging mas mahusay. Ang isa pang pagpipilian ay kunin ang kursong Harvard CS50, na libre.

I-summarize natin

Ang taong hindi nagkakamali ay ang taong walang ginagawa. Iyon ang dahilan kung bakit namin marshal ang aming pasensya at, tulad ng isang masipag na tipaklong, hinahasa namin ang aming mga kasanayan sa coding. Upang gawin ito, huwag kalimutan:
  • Basahin ang code ng iba
  • Magbigay at humingi ng mga pagsusuri sa code
  • Sumulat ng mga unit test
  • Gumamit ng mga tool upang mapabuti ang iyong code
  • Sumulat ng simple at naiintindihan na code
  • Basahin ang dokumentasyong isinulat ng mga makagagawa
  • Sundin ang mga kawili-wiling programmer
  • Magbasa ng mga libro tungkol sa propesyon
  • Code! Code! Code!
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION