BÅ«tiskÄkÄ izstrÄdÄtÄja prasme, kas uzlabos jÅ«su kodu
TulkotÄja priekÅ”vÄrds: PÄc Ŕī raksta izlasÄ«Å”anas jÅ«s varat bÅ«t pÄrsteigts vai pat dusmÄ«gs. JÄ, arÄ« mÄs bijÄm pÄrsteigti: autors it kÄ nekad nebija dzirdÄjis par hierarhiju komandÄ, par uzdevumu izvirzÄ«Å”anu ar statusu ādari Ätri un bez argumentÄcijasā. JÄ, tieÅ”i tÄ, Å”is ir mazliet dÄ«vains teksts. PatieÅ”Äm, autors iesaka programmÄtÄjam uzÅemties sistÄmas arhitekta lomu ā kÄpÄc tad vajadzÄ«gs arhitekts? Bet visiem Å”iem iebildumiem nevajadzÄtu jÅ«s padarÄ«t aklus pret galveno - kÄpÄc mÄs tomÄr paÅÄmÄm un iztulkojÄm Å”o tekstu. ViÅÅ” nerunÄ par lomÄm. Å is teksts ir par profesionÄlu pieeju un izpratni. PatiesÄ«ba ir tÄda, ka tikmÄr, kamÄr jÅ«s vienkÄrÅ”i ādarÄ«sit to, ko tev liekā, nedomÄjot par savu darbÄ«bu nozÄ«mi, jÅ«s nekad nekļūsiet par lielisku programmÄtÄju.
Sakiet nÄ nevajadzÄ«gam kodam. Viss, kas jums jÄdara, ir jÄsaliek kopÄ trÄ«s burti un jÄpasaka vÄrds. MÄÄ£inÄsim to izdarÄ«t kopÄ: "NÄÄÄÄ!"
Bet pagaidi. KÄpÄc mÄs to darÄm? Galu galÄ programmÄtÄja galvenais uzdevums ir rakstÄ«t kodu. Bet vai jums ir jÄraksta kÄds kods, kas jums tiek prasÄ«ts? NÄ! "Sapratne, kad nevajadzÄtu rakstÄ«t kodu, iespÄjams, ir vissvarÄ«gÄkÄ programmÄtÄja prasme." LasÄma koda mÄksla.
ProgrammÄÅ”ana ir problÄmu risinÄÅ”anas mÄksla. Un jÅ«s esat Ŕīs mÄkslas meistari.
Dažreiz, cenÅ”oties sÄkt darbu pÄc iespÄjas ÄtrÄk, mÄs nedomÄjam par neko citu, kÄ tikai par attiecÄ«gÄ uzdevuma izpildi. Un tas var radÄ«t vÄl nopietnÄkas problÄmas.
Uz ko programmÄtÄji piever acis?
Visam jÅ«su rakstÄ«tajam kodam ir jÄbÅ«t saprotamam citiem izstrÄdÄtÄjiem, un tas ir jÄpÄrbauda un jÄatkļūdo.
TaÄu pastÄv problÄma: lai ko jÅ«s rakstÄ«tu, tas sarežģīs jÅ«su programmatÅ«ru un, iespÄjams, nÄkotnÄ ieviesÄ«s kļūdas.
āKods ir slikts, jo tas sÄk pÅ«t un prasa pastÄvÄ«gu apkopi. Lai pievienotu jaunas funkcijas, bieži vien ir jÄmaina vecais kods. Jo lielÄks tas ir, jo lielÄka ir kļūdas iespÄjamÄ«ba un jo vairÄk laika nepiecieÅ”ams kompilÄcijai. Lai to noskaidrotu, citam izstrÄdÄtÄjam ir nepiecieÅ”ams vairÄk laika. Un, ja bÅ«s nepiecieÅ”ama pÄrstrukturÄÅ”ana, tad noteikti bÅ«s fragmenti, kurus ir vÄrts mainÄ«t. Liels kods bieži nozÄ«mÄ samazinÄtu projekta elastÄ«bu un funkcionalitÄti. VienkÄrÅ”s un elegants risinÄjums ir ÄtrÄks par sarežģītu kodu.
KÄ zinÄt, kad nevajadzÄtu rakstÄ«t kodu?
ProblÄma ir tÄ, ka programmÄtÄji bieži pÄrspÄ«lÄ to lietojumprogrammu vajadzÄ«bu skaitu. RezultÄtÄ daudzas koda sadaļas paliek nepabeigtas vai arÄ« tÄs neviens neizmanto, taÄu tÄs apgrÅ«tina lietojumprogrammu.
Jums skaidri jÄsaprot, kas jÅ«su projektam ir vajadzÄ«gs un kas nÄ.
PiemÄrs ir lietojumprogramma, kas atrisina tikai vienu uzdevumu - e-pasta pÄrvaldÄ«bu. Å im nolÅ«kam ir ieviestas divas funkcijas - vÄstuļu nosÅ«tÄ«Å”ana un saÅemÅ”ana. Jums nevajadzÄtu gaidÄ«t, ka pasta pÄrvaldnieks vienlaikus kļūs par uzdevumu pÄrvaldnieku.
Jums stingri jÄsaka ānÄā priekÅ”likumiem pievienot funkcijas, kas nav saistÄ«tas ar lietojumprogrammas galveno uzdevumu. Tas ir tieÅ”i tas brÄ«dis, kad kļūst skaidrs, ka papildu kods nav nepiecieÅ”ams.
Nekad nezaudÄjiet savas lietojumprogrammas fokusu.
VienmÄr jautÄjiet sev:
ā KÄdu funkciju vajadzÄtu ieviest tagad?
ā KÄds kods man jÄraksta?
ApÅ”aubiet idejas, kas nÄk prÄtÄ, un novÄrtÄjiet ieteikumus, kas nÄk no Ärpuses. PretÄjÄ gadÄ«jumÄ papildu kods var vienkÄrÅ”i nogalinÄt projektu.
Zinot, kad nepievienot nevajadzÄ«gas lietas, varÄsit stingri kontrolÄt savu kodu bÄzi.
PaÅ”Ä ceļa sÄkumÄ programmÄtÄjam ir tikai divi vai trÄ«s avota faili. Tas ir vienkÄrÅ”i. Lietojumprogrammas kompilÄÅ”ana un palaiÅ”ana prasa minimÄlu laiku; VienmÄr ir skaidrs, kur un ko meklÄt.
Lietojumprogrammai paplaÅ”inoties, parÄdÄs arvien vairÄk koda failu. ViÅi aizpilda katalogu, katrs ar simtiem rindu. Lai to visu pareizi sakÄrtotu, bÅ«s jÄizveido papildu direktoriji. TajÄ paÅ”Ä laikÄ kļūst arvien grÅ«tÄk atcerÄties, kuras funkcijas par ko ir atbildÄ«gas un kuras darbÄ«bas tÄs izraisa; arÄ« kļūdu Ä·erÅ”ana prasa vairÄk laika. SarežģītÄka kļūst arÄ« projektu vadÄ«ba; visam ir jÄseko lÄ«dzi nevis vienam, bet vairÄkiem izstrÄdÄtÄjiem. AttiecÄ«gi pieaug gan naudas, gan laika izmaksas, un izstrÄdes process palÄninÄs.
Projekts galu galÄ kļūst milzÄ«gs, un katras jaunas funkcijas pievienoÅ”ana prasa arvien vairÄk pūļu. Pat kaut kam ļoti nenozÄ«mÄ«gam ir jÄpavada vairÄkas stundas. EsoÅ”o kļūdu laboÅ”ana noved pie jaunu parÄdÄ«Å”anÄs, un tiek nokavÄti pieteikumu izlaiÅ”anas termiÅi.
Tagad jÄcÄ«nÄs par projekta mūžu. KÄpÄc?
Fakts ir tÄds, ka jÅ«s vienkÄrÅ”i nesapratÄt, kad nevajadzÄtu pievienot papildu kodu, un atbildÄjÄt "jÄ" uz katru ieteikumu un ideju. JÅ«s bijÄt akls, vÄlme radÄ«t jaunas lietas lika jums ignorÄt svarÄ«gus faktus.
IzklausÄs pÄc Å”ausmu filmas scenÄrija, vai ne?
Tas ir tieÅ”i tas, kas notiks, ja turpinÄsit teikt jÄ. MÄÄ£iniet saprast, kad kodu nevajadzÄtu pievienot. IzÅemiet no projekta nevajadzÄ«gÄs lietas ā tas ievÄrojami atvieglos jÅ«su dzÄ«vi un pagarinÄs lietojumprogrammas darbÄ«bas laiku.
"Viena no manÄm produktÄ«vÄkajÄm dienÄm bija tad, kad es izdzÄsu 1000 koda rindiÅas."
ā Kens Tompsons.
Ir grÅ«ti iemÄcÄ«ties, kad nerakstÄ«t kodu. Bet tas ir nepiecieÅ”ams.
JÄ, es zinu, ka jÅ«s tikko esat sÄcis izstrÄdÄtÄja ceļu un vÄlaties rakstÄ«t kodu. Tas ir labi, nezaudÄjiet pirmo iespaidu, bet neaizmirstiet par svarÄ«giem faktoriem entuziasma dÄļ. MÄs visu sapratÄm, izmantojot izmÄÄ£inÄjumus un kļūdas. Tu arÄ« pieļausi kļūdas un mÄcÄ«sies no tÄm. Bet, ja jÅ«s varat mÄcÄ«ties no iepriekÅ” minÄtÄ, jÅ«su darbs kļūs apzinÄtÄks.