Firwat ass et nëtzlech Rieder nei ze erfannen?

Firwat ass et nëtzlech Rieder nei ze erfannen?

Den aneren Dag hunn ech e JavaScript Entwéckler interviewt, dee sech fir eng Seniorpositioun ugemellt huet. E Kolleg, deen och beim Interview dobäi war, huet de Kandidat gefrot eng Funktioun ze schreiwen, déi eng HTTP-Ufro mécht an, wann et net erfollegräich ass, e puer Mol nach eng Kéier probéieren.

Hien huet de Code direkt op de Bord geschriwwen, also wier et genuch fir eppes ongeféier ze zéien. Wann hien einfach gewisen hätt, datt hie gutt versteet, wat et geet, wiere mir ganz zefridde gewiescht. Mä leider konnt hien net eng erfollegräich Léisung fannen. Dunn hu mir, et zu Opreegung gespuert, decidéiert d'Aufgab e bësse méi einfach ze maachen a gefrot him eng Funktioun mat Callbacks an eng Funktioun op Verspriechen ze maachen.

Awer leider. Jo, et war offensichtlech datt hien esou Code scho begéint hat. Hie wousst allgemeng wéi alles do funktionéiert. Alles wat mir brauchen ass eng Skizz vun enger Léisung déi e Verständnis vum Konzept weist. Allerdéngs war de Code, deen de Kandidat um Bord geschriwwen huet, komplett Blödsinn. Hien hat eng ganz vague Iddi vu wat Verspriechen am JavaScript waren a konnt net wierklech erkläre firwat se gebraucht goufen. Fir e Junior wier dat verzeibar gewiescht, mä hien huet sech net méi fir d'Positioun vun engem Senior ugepasst. Wéi géif dësen Entwéckler fäeg sinn Bugs an enger komplexer Kette vu Verspriechen ze fixéieren an aneren z'erklären wat hien genau gemaach huet?

D'Entwéckler betruechten de fäerdege Code selbstverständlech

Wärend dem Entwécklungsprozess begéine mir stänneg reproduzéierbar Materialien. Mir transferéieren Code Fragmenter sou datt mir se net all Kéier mussen nei schreiwen. Deementspriechend, andeems mir all eis Opmierksamkeet op déi Schlësseldeeler fokusséieren, kucken mir de fäerdege Code mat deem mir schaffen als eppes selbstverständlech - mir huelen einfach un datt alles funktionnéiert wéi et soll.

An normalerweis funktionnéiert et, awer wann d'Saachen komplizéiert ginn, d'Mechanik ze verstoen méi wéi lount sech.

Also, eise Kandidat fir d'Positioun vum Senior Entwéckler huet verspriechen Objeten als selbstverständlech ugesinn. Hien hat méiglecherweis eng Iddi wéi se mat hinnen ëmgoen wann se iergendwou am Code vun engem aneren optrieden, awer hien huet den allgemenge Prinzip net verstanen a konnt et net selwer während dem Interview widderhuelen. Vläicht huet hien d'Fragment aus Häerz erënnert - et ass net sou schwéier:

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

Ech hunn et och gemaach - a mir hunn et wahrscheinlech all iergendwann gemaach. Si hunn einfach e Stéck Code memoriséiert sou datt se et spéider an hirer Aarbecht benotze kënnen, wärend nëmmen eng allgemeng Iddi hunn wéi alles do geschafft huet. Awer wann den Entwéckler d'Konzept wierklech verstanen huet, brauch hien näischt ze erënneren - hie wësse einfach wéi et ze maachen, a géif einfach alles reproduzéieren wat hien am Code brauch.

Gitt zréck an d'Wuerzelen

Am 2012, wéi d'Dominanz vu Front-End Kaderen nach net etabléiert war, huet jQuery d'Welt regéiert, an ech hunn d'Buch gelies. Geheimnisser vum JavaScript Ninja, geschriwwen vum John Resig, Schëpfer vun jQuery.

D'Buch léiert de Lieser wéi een hir eege jQuery vun Null erstellt a gëtt en eenzegaartegen Abléck an de Gedankeprozess deen zu der Schafung vun der Bibliothéik gefouert huet. An de leschte Joren huet jQuery seng fréier Popularitéit verluer, awer ech recommandéieren nach ëmmer d'Buch. Wat mech am meeschten iwwer hatt getraff huet, war dat bestänneg Gefill, datt ech dat alles selwer geduecht hätt. D'Schrëtt, déi den Auteur beschriwwen huet, schéngen sou logesch, sou kloer, datt ech eescht ugefaang hunn ze denken datt ech jQuery einfach ka kreéieren wann ech just drop kommen.

Natierlech hätt ech an der Realitéit näischt wéi dat kënne maachen - ech hätt decidéiert datt et onendlech schwéier wier. Meng eege Léisunge schéngen ze einfach an naiv fir ze schaffen, an ech géif opginn. Ech géif jQuery als selbstverständlech Saachen klassifizéieren, an der korrekter Operatioun vun deenen Dir just blann muss gleewen. Duerno géif ech kaum Zäit verschwenden an d'Mechanik vun dëser Bibliothéik ze verdéiwen, mee géif se einfach als eng Zort schwaarz Këscht benotzen.

Awer dëst Buch liesen huet mech eng aner Persoun gemaach. Ech hunn ugefaang de Quellcode ze liesen an entdeckt datt d'Ëmsetzung vu ville Léisungen tatsächlech ganz transparent war, souguer offensichtlech. Nee, natierlech, un esou eppes eleng ze denken ass eng aner Geschicht. Awer et studéiert de Code vun anere Leit a reproduzéieren existent Léisungen déi eis hëllefen eppes vun eisem eegenen ze kommen.

D'Inspiratioun déi Dir kritt an d'Muster déi Dir ufänkt ze bemierken wäert Iech als Entwéckler änneren. Dir wäert feststellen datt déi wonnerbar Bibliothéik, déi Dir stänneg benotzt an déi Dir gewinnt sidd als magesch Artefakt ze denken, guer net op Magie funktionnéiert, awer einfach e Problem lakonesch a ressourcevoll léist.

Heiansdo musst Dir de Code iwwerpréiwen, et Schrëtt fir Schrëtt analyséieren, awer dëst ass wéi Dir a klenge, konsequent Schrëtt bewegt, kënnt Dir de Wee vum Auteur op d'Léisung widderhuelen. Dëst erlaabt Iech méi déif an de Kodéierungsprozess ze tauchen an Iech méi Vertrauen ze ginn mat Ären eegene Léisungen ze kommen.

Wéi ech fir d'éischt ugefaang hunn mat Verspriechen ze schaffen, huet et mir wéi reng Magie geschéngt. Dunn hunn ech erausfonnt datt se op déiselwecht Callbacks baséieren, a meng Programméierungswelt huet sech ëmgedréit. Also d'Muster, den Zweck vun deem ass eis vun Callbacks ze retten, ass selwer mat Callbacks ëmgesat?!

Dëst huet mir gehollef d'Saach mat aneren Aen ze kucken an ze realiséieren datt dëst net e bëssche Stéck Code virun mir ass, déi verbidden Komplexitéit vun där ech ni a mengem Liewen verstinn. Dëst si just Musteren déi ouni Probleemer mat der Virwëtzegkeet an déif Tauche verstane kënne ginn. Dëst ass wéi d'Leit léieren ze codéieren a wuessen als Entwéckler.

Erfannen dëst Rad nei

Also gitt vir an erfannen d'Rieder: schreift Ären eegene Datebindungscode, erstellt en hausgemaachte Verspriechen, oder maacht souguer Är eege Staatsmanagementléisung.
Et ass egal datt keen dat alles wäert benotzen - awer elo wësst Dir wéi Dir et maacht. A wann Dir d'Méiglechkeet hutt esou Entwécklungen duerno an Ären eegene Projeten ze benotzen, dann ass dat allgemeng gutt. Dir wäert fäeg sinn se z'entwéckelen an eppes anescht ze léieren.

De Punkt hei ass net Äre Code an d'Produktioun ze schécken, mee eppes Neies ze léieren. Är eege Implementatioun vun enger existéierender Léisung ze schreiwen ass e super Wee fir vun de beschten Programméierer ze léieren an esou Är Fäegkeeten ze verschäerfen.

Source: will.com

Setzt e Commentaire