Naha éta mangpaat pikeun reinvent roda?

Naha éta mangpaat pikeun reinvent roda?

Dinten anu sanés kuring ngawawancara pamekar JavaScript anu ngalamar posisi senior. A batur sapagawean, anu ogé hadir dina wawancara, nanya ka calon nulis fungsi nu bakal nyieun hiji pamundut HTTP na, lamun gagal, coba deui sababaraha kali.

Anjeunna nyerat kode langsung dina papan, janten cekap pikeun ngagambar perkiraan. Upami anjeunna ngan saukur nunjukkeun yén anjeunna ngartos naon masalahna, urang bakal puas. Tapi, hanjakalna, anjeunna teu bisa manggihan solusi suksés. Teras we, chalking eta nepi ka pikagumbiraeun, mutuskeun hiji nyieun tugas saeutik gampang jeung nanya manehna ngahurungkeun fungsi kalawan callbacks kana fungsi diwangun dina janji.

Tapi hanjakal. Leres, écés yén anjeunna kantos mendakan kode sapertos kitu. Anjeunna terang sacara umum kumaha sadayana damel di dinya. Sadaya anu urang peryogikeun nyaéta sketsa solusi anu nunjukkeun pamahaman konsép. Tapi, kodeu anu ditulis ku calon dina papan éta mangrupikeun omong kosong. Anjeunna gaduh ide anu samar-samar ngeunaan janji naon anu aya dina JavaScript sareng henteu tiasa ngajelaskeun naha éta diperyogikeun. Pikeun SMP ieu bakal dihampura, tapi anjeunna henteu deui cocog kana posisi senior. Kumaha pamekar ieu tiasa ngalereskeun bug dina ranté janji anu kompleks sareng ngajelaskeun ka batur naon anu anjeunna laksanakeun?

Pamekar mertimbangkeun siap-dijieun kode timer dibuktikeun

Salila prosés pangwangunan, urang terus-terusan nyanghareupan bahan anu tiasa diulang. Kami mindahkeun fragmen kode supados urang henteu kedah nyerat deui unggal waktos. Sasuai, ku museurkeun sakabeh perhatian urang kana bagian konci, urang nempo kodeu rengse urang dianggo kalayan salaku hal timer dibuktikeun - urang ngan nganggap yén sagalana bakal jalan sakumaha kuduna.

Sareng biasana éta tiasa dianggo, tapi nalika hal-hal rumit, ngartos mékanika langkung seueur tibatan mayar.

Ku kituna, calon urang pikeun posisi pamekar senior dianggap objék janji janten timer dibuktikeun. Anjeunna sigana ngagaduhan ide kumaha cara nungkulanana nalika aranjeunna lumangsung dina kode batur, tapi anjeunna henteu ngartos prinsip umum sareng henteu tiasa ngulang deui nyalira nalika wawancara. Panginten anjeunna émut kana sempalan ku haté - éta henteu sesah:

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

Kuring ogé ngalakukeun éta - sareng urang sigana sadayana parantos dilakukeun dina sababaraha waktos. Aranjeunna ngan saukur ngapalkeun sapotong kode supados engké tiasa dianggo dina padamelan na, bari ngan ukur gaduh ide umum kumaha sadayana damel di dinya. Tapi upami pamekar leres-leres ngartos konsép éta, anjeunna henteu kedah émut nanaon - anjeunna ngan saukur terang kumaha ngalakukeunana, sareng bakal gampang ngahasilkeun deui sadayana anu diperyogikeun dina kode.

Balik deui ka akar

Dina 2012, nalika dominasi kerangka hareup-tungtung teu acan diadegkeun, jQuery maréntah dunya, sarta kuring maca buku Rahasia tina JavaScript Ninja, Dikarang ku John Resig, pencipta jQuery.

Buku ngajarkeun maca cara nyieun jQuery sorangan ti scratch sarta nyadiakeun wawasan unik kana prosés pamikiran nu ngarah ka kreasi perpustakaan urang. Dina taun anyar, jQuery geus leungit urut popularitasnya, tapi kuring masih kacida nyarankeun buku. Anu paling narik kuring ngeunaan anjeunna nyaéta parasaan anu terus-terusan yén kuring tiasa panginten sadayana ieu nyalira. Léngkah-léngkah anu dijelaskeun ku panulis sigana logis, janten jelas yén kuring serius mimiti mikir yén kuring tiasa gampang nyiptakeun jQuery upami kuring ngan ukur turun ka dinya.

Tangtosna, kanyataanna kuring moal tiasa ngalakukeun nanaon sapertos kieu - kuring bakal mutuskeun yén éta hésé pisan. solusi kuring sorangan bakal sigana teuing basajan tur naif karya, sarta kuring bakal nyerah. Kuring bakal mengklasifikasikan jQuery salaku hal timer dibuktikeun, dina operasi bener nu ngan perlu ambing yakin. Salajengna, abdi boro bakal runtah waktu delving kana mékanika perpustakaan ieu, tapi ngan bakal make eta salaku jenis kotak hideung.

Tapi maca buku ieu ngajantenkeun kuring janten jalma anu béda. Kuring mimiti maca kodeu sumber sareng mendakan yén palaksanaan seueur solusi nyatana transparan pisan, bahkan atra. Henteu, tangtosna, mikirkeun hal sapertos kieu nyalira mangrupikeun carita anu béda. Tapi éta ngulik kodeu jalma sanés sareng ngahasilkeun deui solusi anu tos aya anu ngabantosan urang ngadamel hal anu urang sorangan.

Inspirasi anu anjeun pikahoyong sareng pola anu anjeun mimiti perhatikeun bakal ngarobih anjeun salaku pamekar. Anjeun bakal mendakan yén perpustakaan anu saé anu anjeun anggo sareng anu biasa anjeun pikirkeun salaku artefak gaib henteu tiasa dianggo dina sihir, tapi ngan ukur ngabéréskeun masalah sacara laconically sareng akal.

Kadang-kadang anjeun kudu pore leuwih kode, analisa eta step by step, tapi ieu téh kumaha, pindah dina leutik, léngkah konsisten, anjeun tiasa ngulang jalur panulis pikeun solusi. Ieu bakal ngidinan Anjeun pikeun teuleum deeper kana prosés coding jeung mere Anjeun leuwih kapercayaan dina datang nepi ka solusi Anjeun sorangan.

Nalika kuring mimiti damel sareng janji, sigana kuring sapertos sihir murni. Saterusna kuring manggihan yén maranéhanana dumasar kana callbacks sarua, jeung dunya programming mah ngancik tibalik ka handap. Janten pola, tujuanana pikeun nyalametkeun urang tina telepon balik, éta dilaksanakeun nganggo telepon balik?!

Ieu ngabantosan kuring ningali masalah kalayan panon anu béda sareng sadar yén ieu sanés sapotong kode anu abstruse di payuneun kuring, pajeulitna anu ngalarang anu kuring moal ngartos dina kahirupan kuring. Ieu mangrupikeun pola anu tiasa kahartos tanpa masalah sareng rasa panasaran sareng immersion jero. Ieu kumaha jalma diajar kode sareng tumbuh salaku pamekar.

Reinvent kabayang ieu

Janten teraskeun sareng invent deui roda: nyerat kode beungkeutan data anjeun nyalira, ngadamel janji homegrown, atanapi bahkan ngadamel solusi manajemén kaayaan anjeun nyalira.
Henteu janten masalah yén teu aya anu bakal ngagunakeun sadayana ieu - tapi ayeuna anjeun terang kumaha ngalakukeunana. Sareng upami anjeun ngagaduhan kasempetan pikeun teras-terasan ngagunakeun kamajuan sapertos kitu dina proyék anjeun nyalira, maka éta umumna saé. Anjeun bakal tiasa ngamekarkeun aranjeunna sarta diajar hal sejenna.

Intina di dieu sanés ngirim kode anjeun ka produksi, tapi pikeun diajar anu énggal. Nulis palaksanaan anjeun nyalira tina solusi anu tos aya mangrupikeun cara anu saé pikeun diajar ti programer anu pangsaéna sahingga ngasah kaahlian anjeun.

sumber: www.habr.com

Tambahkeun komentar