Чаро аз нав ихтироъ кардани чарх муфид аст?

Чаро аз нав ихтироъ кардани чарх муфид аст?

Рӯзи дигар ман бо як таҳиягари JavaScript мусоҳиба кардам, ки барои вазифаи баланд довталабӣ мекард. Як ҳамкасбе, ки дар мусоҳиба низ ҳузур дошт, аз номзад хоҳиш кард, ки функсияеро нависад, ки дархости HTTP-ро кунад ва дар сурати ноком шудан, чанд маротиба такрор кунад.

Вай кодро бевосита дар тахта навишт, бинобар ин барои кашидани ягон чизи тахминй кифоя мебуд. Агар вай ба таври оддӣ нишон медод, ки ӯ хуб мефаҳмад, ки масъала чӣ аст, мо комилан қаноатманд мешудем. Вале, мутаассифона, вай илочеи бомуваффакият пайдо карда натавонист. Сипас, мо онро ба ҳаяҷон рабт дода, тасмим гирифтем, ки вазифаро каме осонтар кунем ва аз ӯ хоҳиш кардем, ки функсияи зангҳои бозпасро ба функсияе, ки дар ваъдаҳо сохта шудааст, табдил диҳад.

Аммо афсус. Бале, маълум буд, ки у пештар ба чунин код дучор шуда буд. Вай ба таври умумй медонист, ки дар он чо чй тавр кор мекунад. Ба мо танҳо як эскизи ҳалли он лозим аст, ки фаҳмиши консепсияро нишон медиҳад. Аммо коде, ки номзад дар тахта навишта буд, тамоман бемаънй буд. Вай дар бораи кадом ваъдаҳо дар JavaScript тасаввуроти хеле норавшан дошт ва аслан шарҳ дода наметавонист, ки чаро онҳо лозиманд. Барои як ҷавон ин авфшаванда буд, аммо ӯ дигар ба вазифаи калонсол мувофиқ набуд. Чӣ тавр ин таҳиягар метавонад хатогиҳоро дар як силсилаи мураккаби ваъдаҳо ислоҳ кунад ва ба дигарон фаҳмонад, ки маҳз чӣ кор кардааст?

Таҳиягарон рамзи тайёрро худ аз худ медонанд

Дар ҷараёни таҳия, мо пайваста бо маводи такроршаванда дучор мешавем. Мо порчаҳои кодро интиқол медиҳем, то ки ҳар дафъа онҳоро дубора нависем. Бинобар ин, тамоми диққати худро ба қисмҳои калидӣ равона карда, мо ба коди тайёре, ки бо он кор мекунем, ҳамчун чизи худ возеҳ менигарем - мо танҳо тахмин мекунем, ки ҳама чиз тавре ки лозим аст, кор хоҳад кард.

Ва одатан он кор мекунад, аммо вақте ки корҳо душвор мешаванд, фаҳмидани механика бештар аз фоида меорад.

Ҳамин тариқ, номзади мо ба вазифаи таҳиягари калон объектҳои ваъдаро худ аз худ фаҳмид. Эҳтимол ӯ дар бораи чӣ гуна муносибат кардан бо онҳо фикр мекард, вақте ки онҳо дар коди ягон каси дигар пайдо мешаванд, аммо вай принсипи умумиро нафаҳмид ва худаш онро ҳангоми мусоҳиба такрор карда натавонист. Шояд ӯ порчаро ба ёд овардааст - ин он қадар душвор нест:

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

Ман ҳам ин корро кардам - ​​ва эҳтимол ҳама мо инро дар ягон вақт анҷом додаем. Онҳо танҳо як пораи кодро аз ёд карданд, то онҳо баъдтар онро дар кори худ истифода баранд, дар ҳоле ки танҳо тасаввуроти умумӣ дар бораи чӣ гуна кор кардани ҳама чиз дар он ҷо доранд. Аммо агар таҳиякунанда воқеан консепсияро дарк мекард, ба ӯ лозим намеомад, ки чизеро дар хотир нигоҳ дорад - ӯ танҳо медонист, ки чӣ тавр ин корро кардан лозим аст ва ҳама чизеро, ки дар код лозим буд, ба осонӣ дубора тавлид мекард.

Ба решаҳо баргардед

Дар соли 2012, вақте ки бартарияти чаҳорчӯбаҳои фронталӣ ҳанӯз муқаррар нашуда буд, jQuery дар ҷаҳон ҳукмронӣ мекард ва ман китобро хондам. Асрори JavaScript Ninja, муаллифи Ҷон Ресиг, созандаи jQuery.

Китоб ба хонанда чӣ гуна сохтани jQuery-и шахсии худро аз сифр таълим медиҳад ва дар бораи раванди фикрронӣ, ки боиси эҷоди китобхона шудааст, фаҳмиши беназир медиҳад. Дар солҳои охир, jQuery маъруфияти қаблии худро аз даст дод, аммо ман ба ҳар ҳол китобро тавсия медиҳам. Он чизе, ки дар вай маро бештар ба ҳайрат овард, эҳсоси доимӣ буд, ки ман метавонистам дар бораи ин ҳама худам фикр кунам. Қадамҳое, ки муаллиф тавсиф кардааст, он қадар мантиқӣ ва равшан ба назар мерасид, ки ман ба таври ҷиддӣ фикр мекардам, ки агар ман ба он расида бошам, ба осонӣ метавонам jQuery эҷод кунам.

Албатта, дар асл ман чунин кореро карда наметавонистам - ман тасмим гирифтам, ки ин тоқатнопазир аст. Қарорҳои шахсии ман барои кор хеле содда ва соддалавҳона ба назар мерасанд ва ман таслим мешудам. Ман jQuery-ро ҳамчун чизҳои худ аз худ тасниф мекардам, ки ба кори дурусти онҳо танҳо кӯрона бовар кардан лозим аст. Баъдан, ман вақтро ба механикаи ин китобхона беҳуда сарф намекардам, балки онро ҳамчун як қуттии сиёҳ истифода мебарам.

Аммо хондани ин китоб маро як одами дигар кард. Ман ба хондани рамзи ибтидоӣ шурӯъ кардам ва фаҳмидам, ки татбиқи бисёр қарорҳо воқеан хеле шаффоф ва ҳатто равшан буд. Не, албатта, худатон дар бораи чунин чизе фикр кардан кори дигар аст. Аммо ин омӯхтани рамзи одамони дигар ва таҷдиди қарорҳои мавҷуда аст, ки ба мо кӯмак мекунад, ки чизе аз худамон пайдо кунем.

Илҳоме, ки шумо мегиред ва намунаҳое, ки шумо пайхас мекунед, шуморо ҳамчун таҳиякунанда тағир медиҳанд. Шумо хоҳед дид, ки он китобхонаи аҷибе, ки шумо ҳамеша истифода мебаред ва ба он одат кардаед, ки онро ҳамчун артефакти ҷодугарӣ тасаввур кунед, умуман дар ҷодугарӣ кор намекунад, балки танҳо як масъаларо ба таври кӯтоҳ ва боистеъдод ҳал мекунад.

Баъзан ба шумо лозим меояд, ки кодро аз назар гузаронед ва онро зина ба зина таҳлил кунед, аммо ин аст, ки бо қадамҳои хурд ва пайваста ҳаракат карда, шумо метавонед роҳи муаллифро ба ҳалли мушкилот такрор кунед. Ин ба шумо имкон медиҳад, ки ба раванди рамзгузорӣ амиқтар ғарқ шавед ва ба шумо дар таҳияи қарорҳои худ эътимоди бештар ато кунад.

Вақте ки ман бори аввал ба кор бо ваъдаҳо шурӯъ кардам, он ба назари ман ҷодугарии пок менамуд. Баъд ман фаҳмидам, ки онҳо ба ҳамон зангҳои бозгашт асос ёфтаанд ва ҷаҳони барномасозии ман чаппа шуд. Пас намунае, ки ҳадафи он наҷот додани мо аз зангҳои бозгашт аст, худ бо истифода аз зангҳои бозпас амалӣ мешавад?!

Ин ба ман кӯмак кард, ки ба ин масъала бо чашмони гуногун назар кунам ва дарк кунам, ки ин як порчаи рамзи дар пеши ман нест, ки мураккабии манъкунандаи онро дар ҳаёти худ ҳеҷ гоҳ дарк карда наметавонам. Инҳо танҳо намунаҳое мебошанд, ки бидуни мушкилот бо кунҷковӣ ва ғарқшавии амиқ фаҳмидан мумкин аст. Ин аст, ки одамон рамзгузорӣ карданро меомӯзанд ва ҳамчун таҳиякунанда рушд мекунанд.

Ин чархро аз нав ихтироъ кунед

Пас, пеш равед ва чархҳоро аз нав ихтироъ кунед: рамзи ҳатмии додаҳои худро нависед, ваъдаи хонагӣ эҷод кунед ё ҳатто ҳалли идоракунии давлатии худро созед.
Муҳим нест, ки ҳеҷ кас ҳеҷ гоҳ ин ҳамаро истифода набарад - аммо акнун шумо медонед, ки чӣ тавр ин корро кардан лозим аст. Ва агар шумо имконият дошта бошед, ки минбаъд чунин пешрафтҳоро дар лоиҳаҳои худ истифода баред, пас ин умуман олиҷаноб аст. Шумо метавонед онҳоро инкишоф диҳед ва чизи дигареро омӯзед.

Гап дар ин чо на ба истехсолот фиристодани коди худ, балки барои омухтани чизи нав аст. Навиштани татбиқи шахсии ҳалли мавҷуда як роҳи олии омӯхтан аз беҳтарин барномасозон ва ба ин васила маҳорати худро сайқал додан аст.

Манбаъ: will.com

Илова Эзоҳ