JavaRush /Java Blog /Random-TL /Coffee break #39. 6 na dahilan para malaman ang kahit isa...

Coffee break #39. 6 na dahilan para malaman ang kahit isang programming language. 12 Mga Kapaki-pakinabang na Panuntunan sa Refactoring

Nai-publish sa grupo

6 na dahilan para malaman ang kahit isang programming language

Source: Hackernoon Maaaring hindi ka pa nalantad sa computer science. Ngunit mayroong hindi bababa sa 6 na dahilan upang matuto ng kahit isang programming language.Coffee break #39.  6 na dahilan para malaman ang kahit isang programming language.  12 kapaki-pakinabang na mga panuntunan sa refactoring - 1

1. Upang maunawaan kung saan ka gumugugol ng 28,300 oras ng iyong buhay

Ayon sa istatistika, karamihan sa atin ay gumugugol ng malaking bahagi ng ating buhay (28,300 oras) sa Internet, mobile at desktop application. Ang lahat ng mga virtual na bagay na ito ay nilikha gamit ang code. Upang maunawaan kung paano gumagana ang mga ito, mahalagang magkaroon ng pangunahing kaalaman sa programming.

2. Upang gawing mas madali ang iyong buhay

Ang mga programa at teknikal na aparato ay nilikha upang gawing mas madali ang ating buhay. At habang halos lahat tayo ay nakikipag-ugnayan sa kanila bilang isang user, maaari ka ring lumikha ng mga application sa pamamagitan ng programming. Halimbawa, ang pagse-set up ng text response gamit ang bot kapag offline ka. Sa unang tingin, ito ay tila isang mahirap na gawain, ngunit hindi. Hindi mo na kailangang isulat ang bawat linya ng code. Kailangan mo lamang na maunawaan kung ano ang responsable para sa ito o sa linya ng code, at kung paano gumagana ang lahat. Ang iba pang mga programa ay nilikha gamit ang isang katulad na prinsipyo.

3. Upang makalikha ng mga bagong bagay

Bawat device na iyong ginagamit, mula sa iyong cell phone hanggang sa iyong electric guitar, ay gumagamit ng code para gumana. Kaya, ang programming ay naroroon sa ating buhay. Kaya kahit ano pa ang gusto mo, maaari kang lumikha ng mga bagong bagay sa pamamagitan ng programming. Hindi mahalaga kung sino ka: isang musikero o isang abogado - ngayon ay maipapakita ng lahat ang kanilang pagkamalikhain kung alam nila ang isang programming language.

4. Upang mapabuti ang iyong resume

Walang masama kung magdagdag ng bago sa iyong resume, di ba? Kaya bakit hindi magdagdag ng programming bilang isang karagdagang kasanayan? Ang pag-alam sa isang programming language ay maaaring gawing kakaiba ang iyong resume sa iba. Ito ay magsasaad na ikaw ay isang tao na hindi natatakot na matuto ng isang bagay sa labas ng kahon at hindi natatakot na harapin ang isang hamon. Ipinapakita rin nito na ikaw ay napapanahon sa makabagong teknolohiya.

5. Upang palakasin ang mga kasanayan sa paglutas ng problema

Ang programming ay nagbibigay sa iyo ng higit pa sa isang katawan ng kaalaman. Pinapabuti nito ang iyong mga kasanayan sa paglutas ng problema at tumutulong din na mapabuti ang iyong mga antas ng pasensya. Maaaring hindi mo ito maramdaman kaagad, ngunit magkakaroon ito ng positibong epekto sa maraming bahagi ng iyong buhay sa hinaharap.

6. Upang mapalawak ang mga pagkakataon sa karera

Ang 2020 ay nagdala sa amin ng maraming sorpresa. Ang merkado ng trabaho ay ganap na nagbago dahil sa COVID-19. Maraming mga propesyon ang nawalan ng kaugnayan, at sinusubukan ng mga tao na makahanap ng mga bagong pagkakataon para mabuhay. Kaya walang garantiya na ang iyong propesyon ay iiral sa loob ng 30 taon. Ang pagkakaroon ng backup na opsyon ay isang matalinong desisyon.

Kapag ang code ay nangangailangan ng refactoring: 12 kapaki-pakinabang na panuntunan

Pinagmulan: Ang Medium Refactoring, sa kaibuturan nito, ay muling nagdidisenyo ng base ng code, binabago ang panloob na istruktura ng programa. Ang proseso ng refactoring ay madalas na pinagsama sa pag-aayos ng mga bug, pagdaragdag ng mga bagong feature, at pag-tune ng pagganap. Ngunit huwag kalimutan: ang refactoring ay hindi pagsusuri ng code o pagwawasto ng error.Coffee break #39.  6 na dahilan para malaman ang kahit isang programming language.  12 kapaki-pakinabang na mga panuntunan sa refactoring - 2

Bakit sulit na maglaan ng oras upang matuto ng refactoring

Kung ikaw ay isang bagong developer, ang pag-aaral kung paano mag-refactor ng code at, higit sa lahat, alam kung kailan mag-refactor, ay magiging isang mahalagang kasanayan para sa iyo. Maraming developer ang lumalaktaw sa refactoring. Bilang resulta, ang kanilang code ay mukhang pangkaraniwan, nakakalito, at mahirap basahin. Paano mo malalaman kapag ang iyong code ay nangangailangan ng refactoring? Mayroong 12 panuntunan na makakatulong na matukoy ito:
  1. Masyado bang malaki ang listahan ng parameter ng iyong klase? Mahirap bang subukan at i-debug? Pagkatapos ito ay isang pangunahing kandidato para sa refactoring.
  2. Mayroon bang mga pamamaraan sa iyong code sa loob ng mga klase na gumagamit lamang ng isa sa mga dependency ng klase? Mas mainam na ilagay mo ang pamamaraang ito sa isang hiwalay na klase - kahit na ang klase na ito ay binubuo lamang ng isang pamamaraan.
  3. Gumagawa ba ang iyong pamamaraan ng dalawang magkaibang bagay depende sa halaga ng isang boolean na parameter? Sa kasong ito, mas mahusay na lumikha ng dalawang magkaibang pamamaraan na may malinaw na mga responsibilidad.
  4. May value branching ba ang iyong pamamaraan? Halimbawa, suriin mo ang uri ng isang bagay at magsagawa ng iba't ibang mga operasyon depende sa uri nito. Ito ay isang mahusay na kaso upang gawing diksyunaryo ang iyong if-elseo .switch
  5. Madalas mo bang gamitin if-elseo switches? Subukang gumamit ng polymorphism sa halip at maglapat ng mga pattern ng disenyo na nasubok sa labanan tulad ng Strategy o Mediator.
  6. Tumatanggap ba ng magic number o string ang constructor o method ng iyong klase? Palitan ang magic ng mga ordinaryong enumerasyon.
  7. Mayroon ka bang malinaw na naka-program na mga halaga (mga numero o string)? Sa halip, kunin ang mga halaga bilang mga parameter at gawin itong mai-configure. Mas magiging madali mong gamitin muli o i-deploy ang iyong application sa mga bagong kapaligiran o baguhin ang mga setting.
  8. Huwag gumamit ng mga variable na pangalan tulad ng i, j, k, m, n, x. Itigil mo lang ang paggawa nito.
  9. Nakikita mo ba ang iyong sarili na madalas na gumagamit ng parehong lohika sa maraming lugar? Ilipat ang lohika sa sarili nitong klase o pamamaraan.
  10. Mayroon bang mga klase sa iyong code Serviceo Manager? Para silang Swiss Army na kutsilyo - maraming opsyon na bihirang gamitin. Maglaan ng ilang sandali upang isipin kung anong mga gawain ang maaaring gamitin sa kanila, at pagkatapos ay ilipat ang bawat indibidwal na gawain sa sarili nitong klase.
  11. Nahihirapan ka bang subukan ang isang paraan dahil ang klase na kinaroroonan nito ay tumatagal ng maraming argumento ng constructor? Pagkatapos ay kunin ang pamamaraan sa labas ng klase.
  12. Kailangan mo bang magdagdag ng bago else-ifo switchmagpatupad ng bagong kinakailangan o tampok? Subukang gumamit ng mga interface at reflection para sa awtomatikong pagtuklas ng uri.

Paano pinapabuti ng refactoring ang kalidad ng panloob na software?

Kapag nag-refactor ka, pinapabuti mo ang isa o higit pang mga katangian ng code:
  • Pagpapanatili – Tiyaking madali kang makakagawa ng mga pagbabago sa iyong software. Kasama sa pagpapanatili ang pagdaragdag ng mga bagong feature, pag-tune ng performance, at pagpapadali sa pag-aayos ng mga bug.
  • Ang kakayahang umangkop ay ang saklaw kung saan maaari mong baguhin ang iyong software upang magsilbi sa iba pang mga layunin.
  • Portability - Gaano mo kadaling mapagana ang software sa ibang kapaligiran.
  • Reusability - Gaano mo kadaling magamit ang mga bahagi ng iyong software sa ibang mga system.
  • Readability - Gaano mo kadaling basahin at maunawaan ang source code, hindi lamang sa antas ng interface, kundi pati na rin sa pinakamaliit na detalye ng pagpapatupad.
  • Testability - kadalian ng paggawa ng mga unit test, integration test.
  • Pag-unawa - Paano madaling maunawaan ang iyong software sa pangkalahatang antas. Tiyaking may structured na content ang iyong codebase.
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION