JavaRush /Java Blog /Random-TL /10 paraan upang mapabuti ang iyong code, na nasubok mula ...

10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan

Nai-publish sa grupo
Kumusta sa lahat, komunidad ng JavaRush! 10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan - 1 Ngayon ay pag-uusapan natin ang tungkol sa kalidad ng code. Oo, oo, mahal na mga kaibigan. Walang perpekto. Ang bawat tao'y balang araw ay mauunawaan na ang code ay maaaring maging mas mahusay... Ngunit ano ang gagawin sa sitwasyong ito? Hindi bababa sa, simulan ang pagsasaliksik sa isyung ito. Dahil nandito ka, ibig sabihin ay interesante sa iyo ang paksa, kaya tayo na. Ngayon ay ilalarawan namin ang mga paraan kung saan maaari mong gawing mas mahusay at mas malinis ang iyong code. Upang sa hinaharap ay hindi mo ikahiya ang iyong kasalukuyang code!..)) Ang lahat ng mga pamamaraang ito ay makakatulong sa programmer na maging isang mahusay na programmer.

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

10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan - 2Kung gusto mong pagbutihin nang husto ang iyong mga kasanayan sa programming, kailangan mong... basahin ang code na isinulat ng ibang mga programmer. Maaari kang maniwala dito, hindi ka makapaniwala. Ngunit kung magsasamantala ka, ipinapangako ko sa iyo na magkakaroon ng gantimpala para sa iyong oras. Halimbawa, huwag basahin sa Habré kung paano gumagana ang HashMap, ArrayList, LinkedList at iba pa, ngunit basahin ang kanilang code at alamin ito sa iyong sarili. Narito ang isang listahan ng mga klase na babasahin:
  1. Ang HashMap ay ang pinakamadalas itanong sa mga panayam. Maaari kang pumatay ng ilang ibon gamit ang isang bato: unawain ang code at makuha ang kinakailangang kaalaman.

  2. Ang ArrayList ay ang parehong kaso tulad ng sa HashMap. Walang mga kumplikadong bagay doon, ngunit ito ay talagang nagkakahalaga ng pagbabasa at pag-unawa.

  3. Ang string ay isang magandang halimbawa. Unawain kung bakit ito ay hindi nababago.

  4. Ang AtomicInteger ay isang cool na klase: inilalarawan nito ang proseso kung paano magsagawa ng mga operasyon ng atom sa mga bagay na Integer.

  5. At pagkatapos - hindi bababa sa lahat ng mga klase sa isang hilera...)

Kung pag-uusapan natin ang isang bagay na mas seryoso, siyempre, sulit na basahin ang code mula sa Pivotal. Isinulat ng mga taong ito ang pinaka-hinahangad na ecosystem sa mundo ng Java. Talagang sulit na basahin ang kanilang code. Samakatuwid, ipinapayo ko sa iyo na magsimula sa Spring Core . Ang pagbabasa ng hindi pamilyar na source code ay mahirap ngunit napakagandang gawain.)

2. Sundin ang Code Conventions - mga kumbensyon para sa pagsulat ng code

10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan - 3Ang mga coding convention ay isang hanay ng mga alituntunin na binuo ng mga development team na kinabibilangan ng mga alituntunin para sa istilo ng programming at mga diskarte para sa bawat aspeto ng code na nakasulat sa loob ng isang kumpanya o isang partikular na proyekto. Ang mga convention na ito ay karaniwang partikular sa bawat programming language at cover file organization, indentation, komento, deklarasyon, operator, whitespace, mga convention sa pagbibigay ng pangalan, mga diskarte at prinsipyo ng programming, mga panuntunan sa programming, pinakamahusay na kasanayan sa arkitektura, atbp. Ang pangunahing benepisyo ng ilang mga pamantayan ay iyon 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 pag-develop, magiging mas madali ang pagpapanatili at pagpapalawak ng code, refactor ito, at lutasin ang mga salungatan sa pagsasama sa hinaharap. Ang mga coding convention ay mahalaga sa mga programmer para sa ilang kadahilanan:
  • 40%-80% ng gastos ng software ay ginagastos sa pagpapanatili nito;
  • halos walang software ang pinananatili ng may-akda sa buong buhay niya;
  • Pinapabuti ng mga code convention ang pagiging madaling mabasa ng software, na nagpapahintulot 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 pagtatalo tungkol sa kanila, dahil ito ay isang mahalagang aktibidad na makatipid sa iyo ng oras at pagsisikap sa hinaharap. Ang mga Code Convention ay dapat na masuri nang madalas. Ang mga panuntunan ay maaaring isalin mula sa "mandatory" sa "opsyonal" at vice versa. Kung ang ilan sa mga ito ay hindi gumana nang maayos, kailangan nilang muling idisenyo o alisin sa mga alituntunin.

3. Gumamit ng Code Review - pagsusuri ng code ng iba

Ang pagsusuri ng code ay isa sa pinakamakapangyarihang tool para sa pagpapabuti ng code. 10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan - 4Bakit? Dahil ang code ay titingnan ng mga espesyalista na hindi sumulat nito. At ang isang sariwang hitsura ay lubhang kapaki-pakinabang. At kadalasan ito ay ang Pagsusuri ng Kodigo na nakakatulong na pigilan ang pagsulat ng lantarang kahila-hilakbot na code. Alam kong hindi ito laging posible dahil kailangan mong maghanap ng ibang tao na gustong gawin ito. Ngunit hindi ito nangangahulugan na ang tool na ito ay hindi sulit na gamitin. Sa kabaligtaran: ito ay isang dahilan upang makahanap ng mga taong katulad ng pag-iisip kung saan mahalaga din na mapabuti ang kalidad ng code. Siyanga pala, sino ang nagbabawal sa iyo na hanapin sila dito sa JavaRush? Sa isang lugar kung saan lahat ay gustong maging programmer.

4. Sumulat ng Unit Tests - mga unit test

10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan - 5Sa ngayon ang aking paboritong paraan para sa pagpapabuti ng code ay ang pagsulat ng mga pagsubok sa yunit. Bukod dito, kung mas maraming isinusulat mo ang mga ito, mas mabuti. Sa computer programming, ang unit testing ay isang proseso ng pag-develop ng software kung saan ang pinakamaliit na nasusuri na bahagi ng source code, na tinatawag na unit, ay sinusuri nang isa-isa at independyente upang suriin kung gumagana ang mga ito gaya ng inaasahan. Makakatulong ito sa iyong matukoy ang mga pagkabigo sa mga algorithm at/o lohika bago ilabas ang code. Dahil ang pagsubok sa unit ay nangangailangan ng naaangkop na istraktura ng iyong code, nangangahulugan ito na ang code ay dapat nahahati sa mas maliit at mas nakatutok na mga function. Ang bawat isa ay may pananagutan para sa isang solong operasyon sa isang set ng data, sa halip na malalaking function na gumaganap ng maraming iba't ibang mga operasyon. (Gaya ng sinasabi nila, kumusta mula sa Single Responsibility Principle ...) Ang pangalawang benepisyo ng pagsulat ng mahusay na nasubok na code ay na maaari mong maiwasan ang mga pagkabigo sa hinaharap sa mga maliliit na pagbabago sa umiiral na code breaking functionality. Kapag naganap ang isang pagkabigo, sasabihin sa iyo ng mga unit test na may naisulat nang hindi tama. Sa unang sulyap, ang paggugol ng oras sa pagsulat ng mga pagsubok sa yunit sa panahon ng pag-unlad ay tila isang karagdagang gastos. Gayunpaman, makakatipid ito ng oras sa hinaharap, na kakailanganing gastusin sa pag-debug. Ito ay dapat na isang hakbang-hakbang na proseso. Samakatuwid, magpatuloy at kumanta - magsulat ng mga pagsusulit para sa lahat ng mga pamamaraan at klase :D

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

10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan - 6Walang developer na hindi nagkakamali. Karaniwan ang compiler ay kukuha ng mga problema sa syntax at arithmetic at maglalabas ng stack trace. Ngunit maaaring may ilang mga problema pa rin na hindi nakuha ng compiler. Halimbawa, hindi wastong ipinatupad na mga kinakailangan, maling algorithm, hindi tamang istraktura ng code, o ilang potensyal na problemang alam ng komunidad mula sa karanasan. Ang tanging paraan upang mahuli ang mga naturang error ay ang hilingin sa ilang senior developer na suriin ang iyong code. Ang diskarte na ito ay hindi isang panlunas sa lahat at nagbabago nang kaunti. Sa bawat bagong developer sa team, dapat ay mayroon kang karagdagang pares ng mga mata na tumitingin sa kanyang code. Ngunit sa kabutihang palad, maraming mga tool na makakatulong sa iyong kontrolin ang kalidad ng iyong code. Ginamit ko ang Checkstyle, PMD, FindBugs, SonarQube sa aking trabaho sa iba't ibang mga proyekto. Meron ding iba. Lahat ng mga ito ay karaniwang ginagamit para sa pagsusuri ng kalidad at pagbuo 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 malinaw na code

10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan - 7Palaging magsulat ng simple, malinaw at lohikal na code. Ang mga tao ay may posibilidad na magsulat ng kumplikadong code upang patunayan ang kanilang kakayahang gawin ito. Ang simple ngunit lohikal na code ay palaging gumagana nang maayos, nagreresulta sa mas kaunting mga problema, at mas napapalawak. Ang ibig sabihin ng magandang code ay mas mahusay na dokumentasyon. Kung iniisip mong 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, na nasubok mula sa personal na karanasan - 8Ang isa sa mga mahalagang gawi ng mahusay na mga programmer ay ang pagbabasa ng maraming dokumentasyon. Hayaan itong mga detalye, JSR, API doc, tutorial, atbp. Ang pagbabasa ng mga doc ay nakakatulong sa iyo na bumuo ng matibay na pundasyon kung saan ka pinakamahusay na nagprograma. Panghuli ngunit hindi bababa sa, huwag ikumpara ang iyong sarili sa iba. Ang paghahambing ng iyong sarili sa iba ay hahantong lamang sa mga negatibong damdamin at hindi malusog na kompetisyon. Ang bawat isa ay may kanya-kanyang lakas at kahinaan. Samakatuwid, mahalagang kilalanin sila at makipagtulungan sa kanila. Pag-aralan ang iyong sarili, ilista ang iyong mga lakas at gawin ang mga ito. Ang programming ay tunay na masaya: tamasahin ito.

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

Alan J. Perlis

8. Subaybayan ang mga kawili-wiling blogger

10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan - 9Mayroong libu-libong mga mahilig sa buong mundo na 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. Makakakita ka ng iba't ibang pananaw ng parehong teknolohiya sa mga blog. Maaari mong makita ang mabuti at masamang teknolohiya sa mga blog. Hindi bababa sa, basahin ang mga artikulo sa Habré JavaRush :D, kasama ang sa akin. Subaybayan ang magagandang blog at magkomento sa mga post, ibahagi ang iyong opinyon.

9. Magbasa ng mga espesyal na aklat

10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan - 10Walang makakapagpapalit sa isang magandang libro. Ang isang mahusay na libro ay magtuturo ng mga pangunahing konsepto sa isang mas simpleng paraan at ilalapat 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 mga karanasan ng iba. Iminumungkahi kong basahin ang “Java. Epektibong Programming ni Joshua Bloch. Ang aklat na ito ay nagtatanghal ng pitumpu't walong hindi maaaring palitan na mga alituntunin ng thumb ng programmer: gumagana, pinakamahusay na mga solusyon para sa mga problema sa programming na kinakaharap mo araw-araw. Naglalaman ito ng pinakapraktikal, makapangyarihang mga patnubay na maaari mong gamitin upang magsulat ng mga epektibo at mahusay na disenyong mga programa. Kung nagsisimula ka lang sa Java at walang karanasan sa programming, maaari mong basahin ang aklat na "Sams Teach Yourself Java 2 sa 24 Oras". At para sa pagsulat ng malinis na code, mayroong isang mahusay na aklat na "Clean Code ni Robert Martin". Pagkatapos nito, lilitaw ang isang "pakiramdam ng kagandahan" na may kaugnayan sa code.

10. Code! Code! Code!

Hindi ka maaaring maging isang mahusay na programmer sa pamamagitan lamang ng pagsasaulo ng isang libro. 10 paraan upang mapabuti ang iyong code, na nasubok mula sa personal na karanasan - 11Madaling pag-usapan ang mga teoretikal na konsepto. Ngunit maaari ka lamang matuto ng mga limitasyon sa wika o bumuo ng pinakamahusay na kasanayan kapag sumulat ka ng code. Samakatuwid, upang maging isang mahusay na programmer, kailangan mong magsulat ng maraming code. Kung ikaw ay baguhan, magsimula sa pamamagitan ng pagsusulat ng mga programa para sa mga simpleng problema tulad ng Fibonacci series, palindrome, Pascal's triangle, atbp. at pagkatapos ay lumipat sa mas malalaking problema tulad ng binary search tree, atbp. Kung naghahanap ka ng online na platform para sa pagsasanay ng mga programang Java, tingnan ang Coding Ground . Bukod dito, maaari mong kunin ang kursong CS50 , ang pagsasalin nito ay ibinigay sa amin ng "alam mo kung sino" :D

Isa-isahin natin

Ang walang ginagawa ay hindi nagkakamali. Samakatuwid, dapat tayong maging matiyaga at, tulad ng isang masipag na Hapones, hinahasa natin ang ating mga kasanayan sa coding. Para dito, huwag kalimutan:
  • basahin ang code ng ibang tao;
  • isagawa at humingi ng Code Reivew;
  • sumulat ng mga pagsubok sa yunit;
  • gumamit ng mga tool upang mapabuti ang code;
  • magsulat ng simple at nauunawaan na code;
  • basahin ang dokumentasyon ng mga nagawa;
  • sundin ang mga kagiliw-giliw na programmer;
  • magbasa ng mga espesyal na libro;
  • Code! Code! Code!
  • mag-subscribe sa Roman sa GitHub .

kapaki-pakinabang na mga link

Higit pa sa aking mga artikulo

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