Nganong mapuslanon ang pag-imbento pag-usab sa ligid?

Nganong mapuslanon ang pag-imbento pag-usab sa ligid?

Sa miaging adlaw giinterbyu nako ang usa ka developer sa JavaScript nga nag-aplay alang sa usa ka senior nga posisyon. Usa ka kauban, nga anaa usab sa interbyu, mihangyo sa kandidato sa pagsulat sa usa ka function nga maghimo sa usa ka HTTP nga hangyo ug, kon dili molampos, sulayi pag-usab sa makadaghang higayon.

Gisulat niya ang code direkta sa pisara, aron kini igo na nga magdrowing og usa ka butang nga gibanabana. Kon gipakita pa lang niya nga nakasabot siya pag-ayo kon unsay nahitabo, matagbaw na unta mi. Apan, ikasubo, wala siya makapangita usa ka malampuson nga solusyon. Dayon kami, nga nag-chalk niini sa kahinam, nakahukom nga himoong mas sayon ​​ang buluhaton ug gihangyo siya sa paghimo sa usa ka function nga adunay mga callback ngadto sa usa ka function nga gitukod sa mga saad.

Apan alaot. Oo, klaro nga nahibal-an niya ang ingon nga code kaniadto. Nahibal-an niya sa kinatibuk-an nga mga termino kung giunsa ang tanan nagtrabaho didto. Ang tanan nga atong gikinahanglan mao ang usa ka sketch sa usa ka solusyon nga nagpakita sa usa ka pagsabut sa konsepto. Bisan pa, ang kodigo nga gisulat sa kandidato sa pisara hingpit nga walay pulos. Siya adunay dili klaro nga ideya kung unsa nga mga saad ang naa sa JavaScript ug dili gyud niya mapatin-aw kung ngano nga gikinahanglan kini. Alang sa usa ka junior mapasaylo na unta kini, apan dili na siya haum sa posisyon sa usa ka senior. Sa unsang paagi kini nga developer makahimo sa pag-ayo sa mga bug sa usa ka komplikado nga kadena sa mga saad ug ipasabut sa uban kung unsa gyud ang iyang gibuhat?

Giisip sa mga developer ang andam nga gihimo nga code nga makita sa kaugalingon

Atol sa proseso sa pag-uswag, kanunay namong masugatan ang mga materyales nga ma-reproducible. Gibalhin namo ang mga tipik sa code aron dili na namo kini isulat pag-usab matag higayon. Tungod niini, pinaagi sa pagpunting sa tanan namong atensyon sa mga yawe nga bahin, among gitan-aw ang nahuman nga code nga among gitrabahoan ingon usa ka butang nga makita sa kaugalingon - gihunahuna ra namon nga ang tanan molihok sumala sa kinahanglan.

Ug sa kasagaran kini molihok, apan kung ang mga butang malisud, ang pagsabut sa mga mekaniko labaw pa sa bayad.

Sa ingon, ang among kandidato alang sa posisyon sa senior developer giisip nga mga butang nga gisaad nga makita sa kaugalingon. Tingali siya adunay usa ka ideya kon unsaon pag-atubang kanila kung kini mahitabo sa usa ka dapit sa code sa laing tawo, apan wala siya makasabut sa kinatibuk-ang prinsipyo ug dili niya kini masubli sa iyang kaugalingon atol sa interbyu. Tingali nahinumduman niya ang tipik sa kasingkasing - dili kini lisud:

return new Promise((resolve, reject) => {
  functionWithCallback((err, result) => {
   return err ? reject(err) : resolve(result);
  });
});

Gibuhat ko usab kini - ug tingali nahimo na naton tanan sa usa ka punto. Gisag-ulo lang nila ang usa ka piraso sa code aron magamit nila kini sa ulahi sa ilang trabaho, samtang adunay usa ka kinatibuk-ang ideya kung giunsa ang tanan nagtrabaho didto. Apan kung tinuod nga nasabtan sa developer ang konsepto, dili na niya kinahanglan nga hinumdoman ang bisan unsang butang - nahibal-an ra niya kung giunsa kini buhaton, ug dali nga makopya ang tanan nga kinahanglan niya sa code.

Balik sa mga ugat

Sa 2012, sa dihang ang dominasyon sa front-end frameworks wala pa matukod, ang jQuery nagmando sa kalibutan, ug akong gibasa ang libro Mga sekreto sa JavaScript Ninja, gisulat ni John Resig, tiglalang sa jQuery.

Gitudloan sa libro ang magbabasa kung giunsa paghimo ang ilang kaugalingon nga jQuery gikan sa wala ug naghatag usa ka talagsaon nga panabut sa proseso sa panghunahuna nga nagdala sa paghimo sa librarya. Sa bag-ohay nga mga tuig, ang jQuery nawad-an sa kanhi nga pagkapopular, apan girekomenda ko gihapon ang libro. Ang nakapatandog kaayo kanako bahin kaniya mao ang padayon nga pagbati nga ako unta naghunahuna niining tanan sa akong kaugalingon. Ang mga lakang nga gihulagway sa tagsulat ingon og lohikal kaayo, tin-aw kaayo nga seryoso ako nga nagsugod sa paghunahuna nga dali ra akong makahimo og jQuery kung naa ra nako kini.

Siyempre, sa pagkatinuod dili unta ko makahimo sa bisan unsa nga sama niini - nakahukom ko nga kini dili maagwanta nga lisud. Ang akong kaugalingon nga mga solusyon ingon og yano ra kaayo ug wala’y hinungdan nga molihok, ug ako mohunong. Giklasipikar nako ang jQuery ingon nga mga butang nga makita sa kaugalingon, sa husto nga operasyon nga kinahanglan nimo nga bulag nga tuohan. Pagkahuman, halos dili ako mag-usik ug oras sa pagsusi sa mga mekaniko niini nga librarya, apan gamiton lang kini ingon usa ka klase nga itom nga kahon.

Apan ang pagbasa niini nga libro naghimo kanako nga lahi nga tawo. Nagsugod ko sa pagbasa sa source code ug nadiskobrehan nga ang pagpatuman sa daghang mga solusyon sa pagkatinuod klaro kaayo, gani klaro. Dili, siyempre, ang paghunahuna sa usa ka butang nga sama niini sa imong kaugalingon lahi nga istorya. Apan kini mao ang pagtuon sa code sa ubang mga tawo ug pagkopya sa kasamtangan nga mga solusyon nga makatabang kanato sa paghimo sa usa ka butang sa atong kaugalingon.

Ang inspirasyon nga imong naangkon ug ang mga sumbanan nga imong namatikdan makapausab kanimo isip usa ka developer. Imong makaplagan nga kanang nindot nga librarya nga kanunay nimong gigamit ug naanad nimo sa paghunahuna isip usa ka mahika nga artifact wala gayoy buhat sa salamangka, apan yanong nagsulbad sa usa ka problema sa laconically ug resourcefully.

Usahay kinahanglan nimo nga susihon ang code, analisahon kini nga lakang, apan kini kung giunsa, paglihok sa gagmay, makanunayon nga mga lakang, mahimo nimong balikon ang agianan sa tagsulat sa solusyon. Kini magtugot kanimo sa pag-dive sa mas lawom nga proseso sa coding ug maghatag kanimo og dugang nga pagsalig sa paghimo sa imong kaugalingon nga mga solusyon.

Sa una nakong pagsugod sa pagtrabaho uban sa mga saad, kini alang kanako sama sa puro nga salamangka. Pagkahuman nahibal-an nako nga gibase sila sa parehas nga mga callback, ug ang akong kalibutan sa programming nabali. Mao nga ang sumbanan, ang katuyoan niini mao ang pagluwas kanato gikan sa mga callback, gipatuman mismo gamit ang mga callback?!

Kini nakatabang kanako sa pagtan-aw sa butang uban sa lain-laing mga mata ug makaamgo nga kini dili usa ka abstruse piraso sa code sa atubangan sa akong atubangan, ang nagdili komplikado nga dili gayud nako masabtan sa akong kinabuhi. Kini mga sumbanan lamang nga masabtan nga walay mga problema sa tungod sa pagkamausisaon ug lawom nga pagpaunlod. Mao kini ang paagi nga ang mga tawo makakat-on sa pag-code ug pagtubo isip mga developer.

Pag-usab niini nga ligid

Busa padayon ug reinvent ang mga ligid: pagsulat sa imong kaugalingon nga data binding code, paghimo sa usa ka homegrown nga saad, o bisan sa paghimo sa imong kaugalingon nga solusyon sa pagdumala sa estado.
Dili igsapayan nga wala’y bisan kinsa nga mogamit sa tanan niini - apan karon nahibal-an nimo kung giunsa kini buhaton. Ug kung adunay ka higayon nga magamit dayon ang ingon nga mga pag-uswag sa imong kaugalingon nga mga proyekto, nan sa kasagaran maayo kana. Ikaw makahimo sa pagpalambo kanila ug makakat-on sa lain nga butang.

Ang punto dinhi dili ang pagpadala sa imong code sa produksiyon, apan ang pagkat-on og bag-ong butang. Ang pagsulat sa imong kaugalingon nga pagpatuman sa usa ka kasamtangan nga solusyon usa ka maayong paagi sa pagkat-on gikan sa labing kaayo nga mga programmer ug sa ingon mapauswag ang imong kahanas.

Source: www.habr.com

Idugang sa usa ka comment