Hêrsa li kodê: bernamenûs û neyînî

Hêrsa li kodê: bernamenûs û neyînî

Ez li perçeyek kodê digerim. Dibe ku ev koda herî xirab a ku min dîtiye be. Ji bo nûvekirina tenê yek tomarek di databasê de, ew hemî tomarên di berhevokê de vedigire û dûv re daxwaznameyek nûvekirinê ji her tomarek databasê re dişîne, hetta yên ku ne hewce ne werin nûve kirin. Fonksiyonek nexşeyê heye ku bi tenê nirxa ku jê re derbas bûye vedigerîne. Ji bo guhêrbarên bi nirxê xuyayî, ceribandinên şertî hene, ku tenê bi şêwazên cûda têne nav kirin (firstName и first_name). Ji bo her NAVKIRINÊ, kod peyamek dişîne rêzek cûda, ku ji hêla fonksiyonek cûda ya bê server ve tê rêve kirin, lê ku hemî karan ji bo berhevokek cûda di heman databasê de dike. Ma min behs kir ku ev fonksiyona bê server ji "mîmariya karûbar-oriented"-ya ewr-based e ku zêdetirî 100 fonksiyonên li hawîrdorê vedihewîne?

Gelo ev yek çawa pêkan bû? Ez rûyê xwe vedişêrim û bi eşkere di nav kenê xwe de digirîm. Hevalên min dipirsin ka çi bûye, û ez bi rengan vedibêjim Hişên herî xirab ên BulkDataImporter.js 2018. Her kes bi sempatî serî li min dide û dipejirîne: çawa dikarin vê yekê ji me re bikin?

Neyînî: di çanda bernamesaz de amûrek hestyarî

Neyînî di bernamekirinê de rolek girîng dilîze. Ew di çanda me de cih girtiye û ji bo parvekirina tiştên ku me fêr bûne tê bikar anîn ("hûn nakin hûn ê bawer bikin, ew kod çawa bû!”), bi xemgîniyê sempatiya xwe diyar kirin (“Xwedê, ÇIMA wiya dike?”), xwe nîşan bide (“Ez ê tu carî wiha nekiriye”), ji bo sûcdarkirina kesekî din (“em ji ber koda wî têk çûn, ku ne mimkûn e ku were domandin”), an jî, wekî ku di rêxistinên herî “jehrîn” de tê kirin, kesên din bi rê ve kontrol bikin. hesta şermê ("Tu jî li ser çi difikirî?" ? rast").

Hêrsa li kodê: bernamenûs û neyînî

Negatîvî ji bo bernamenûsan ew qas girîng e ji ber ku ew rêyek pir bi bandor e ku nirxê ragihîne. Carekê ez beşdarî kampek bernamesaziyê bûm, û pratîka standard a danasîna çanda pîşesaziyê di xwendekaran de ew bû ku bi comerdî meme, çîrok û vîdyoyan peyda bike, yên herî populer ên ku têne îstismar kirin. xemgîniya bernamenûsan dema ku bi şaşfêmkirina mirovan re rû bi rû dimînin. Baş e ku meriv bikaribe amûrên hestyarî bikar bîne da ku Ya Baş, Xerab, Xerab, Ne Bike, Qet nebe. Pêdivî ye ku merivên nûhatî ji vê yekê re amade bikin ku dibe ku ew ê ji hêla hevkarên ku ji IT-ê dûr in xelet werin fam kirin. Ku hevalên wan dê dest bi firotina ramanên sepanê yên mîlyon dolaran bikin. Ku ew ê neçar bimînin ku di nav labîrentên bêdawî yên koda kevnar de bi komek minotaurên li dora quncikê re bigerin.

Dema ku em yekem car fêrî bernamekirinê dibin, têgihiştina me ya kûrahiya "azmûna bernamekirinê" li ser çavdêriya reaksiyonên hestyarî yên mirovên din e. Ev ji postên di nav de bi zelalî tê dîtin sabe ProgrammerHumor, cihê ku gelek bernamenûsên nûjen lê dikevin. Gelek mîzahî, heta dereceyekê an din, bi rengên cûda yên neyînî têne reng kirin: dilşikestî, reşbînî, hêrsbûn, hurmet û yên din. Û heke ev ji we re têr xuya nake, şîroveyan bixwînin.

Hêrsa li kodê: bernamenûs û neyînî

Min bala xwe dayê ku her ku bernameçêker ezmûnê digirin, ew her ku diçe neyînî dibin. Kesên ku dest pê dikin, ji zehmetiyên li benda wan nizanin, bi coş û dilxwazî ​​dest pê dikin ku bawer bikin ku sedema van dijwariyan tenê kêmbûna ezmûn û zanînê ye; û di dawiyê de ew ê bi rastiya tiştan re rûbirû bibin.

Dem derbas dibe, ew azmûnê digirin û dikarin koda Baş ji Xerab cuda bikin. Û gava ku ew dem tê, bernamenûsên ciwan ji xebata bi kodek eşkere xirab re bêhêvî hîs dikin. Û heke ew di tîmekê de bixebitin (ji dûr ve an bi kesane), ew pir caran adetên hestyarî yên hevkarên bi tecrube qebûl dikin. Ev pir caran dibe sedema zêdebûna negatîfiyê, ji ber ku ciwan naha dikarin bi ramanî li ser kodê biaxivin û wê li xirab û baş dabeş bikin, bi vî rengî nîşan bidin ku ew "dizanin". Ev negatîf hê bêtir xurt dike: ji bêhêvîbûnê, hêsan e ku meriv bi hevalbendan re li hev bike û bibe beşek komê; rexnekirina Koda Bad di çavên kesên din de statû û profesyoneliya we zêde dike: kesên ku ramanên neyînî derdixin gelek caran wekî jîrtir û jêhatîtir têne dîtin.

Zêdekirina negatîfiyê ne tiştekî xirab e. Nîqaşên bernamekirinê, di nav tiştên din de, li ser qalîteya koda ku hatî nivîsandin zehf hûr dibin. Tiştê ku kod e bi tevahî fonksiyona ku tê xwestin ku bike diyar dike (hardware, torgilok, hwd.), ji ber vê yekê girîng e ku hûn karibin nêrîna xwe li ser wê kodê diyar bikin. Hema hema hemî nîqaş têne ser wê yekê ka kod têra xwe baş e, û ji bo şermezarkirina diyardeyên koda xirab bi şertên ku têgîna hestyarî kalîteya kodê diyar dike:

  • "Di vê modulê de gelek nakokîyên mantiqî hene, ew berendamek baş e ji bo xweşbînkirina performansa girîng."
  • "Ev modul pir xirab e, pêdivî ye ku em wê ji nû ve sererast bikin."
  • "Ev modul ne wate ye, pêdivî ye ku ji nû ve were nivîsandin."
  • "Ev modul dişoxilîne, pêdivî ye ku were paqij kirin."
  • "Ev perçeyek beran e, ne modulek e, ne hewce bû ku were nivîsandin, nivîskarê wê çi difikirî."

Bi awayê, ev "serbestberdana hestyarî" e ku dihêle pêşdebiran kodê "seksî" bi nav bikin, ku kêm caran rast e - heya ku hûn li PornHub bixebitin.

Pirsgirêk ev e ku mirov mexlûqên xerîb, bêhiş, hestyarî ne, û têgihîştin û derbirîna her hestê me diguhezîne: di destpêkê de bi hûrgulî, lê bi demê re, bi awayekî dramatîk.

Xaleke negatîv a şemitokî ya xemgîn

Çend sal berê, ez rêberek tîmek nefermî bûm û bi pêşdebirek re hevpeyvîn kir. Me bi rastî ji wî hez kir: ew jîr bû, pirsên baş dipirsî, teknolojîk jîr bû, û bi çanda me re baş li hev tê. Ez bi taybetî ji pozîtîfiya wî bandor bûm û ew çiqas balkêş xuya dikir. Û min ew kire kar.

Di wê demê de, ez çend salan di pargîdaniyê de dixebitim û hest dikim ku çanda me ne pir bandor e. Berî ku ez bêm, me du caran, sê caran û çend carên din jî hewl da ku em berhemê bidin destpêkirin, ku ev yek bû sedema lêçûnên mezin li ser ji nû ve kirinê, ku di vê demê de ji xeynî şevên dirêj, maweyên teng û hilberên ku kar dikin tiştek ku em nîşan bidin tune bû. Û her çend ez hîn jî bi dijwarî dixebitim, ez di derbarê maweya paşîn a ku ji hêla rêveberiyê ve ji me re hatî destnîşan kirin bi guman bûm. Û dema ku bi hevkarên min re hin aliyên kodê nîqaş dikir, wî bi bêhemdî sond xwar.

Ji ber vê yekê ne ecêb bû - her çend ez şaş bûm - ku çend hefte şûnda, heman pêşdebirê nû heman tiştên neyînî yên ku min kir (di nav de sondxwarin) got. Min fêm kir ku ew ê di pargîdaniyek cûda de bi çandek cûda cûda tevbigere. Ew tenê bi çanda ku min afirand adapte bû. Ez bi hestê sûcdariyê ve girêdayî bûm. Ji ber azmûna xweya subjektîf, min reşbîniyê xist nav yekî nû yê ku min ew bi tevahî cûda dît. Her çend ew bi rastî ne wusa bûya û tenê xuyangek li xwe dikir da ku nîşan bide ku ew dikare li hev bike, min helwesta xwe ya şêt li ser wî ferz kir. Û her tiştê ku tê gotin, bi henekî an jî bi derbasbûnê ve, xwedan awayê xirab e ku vediguhere tiştê ku tê bawer kirin.

Hêrsa li kodê: bernamenûs û neyînî

Rêyên neyînî

Ka em vegerin ser bernamenûsên xweyên nû yên berê, yên ku piçek aqil û ezmûn bi dest xistine: ew bi pîşesaziya bernamesaziyê re bêtir nas bûne û fam dikin ku kodek xirab li her derê ye, jê nayê dûrxistin. Tewra di pargîdaniyên herî pêşkeftî yên ku li ser kalîteyê sekinîn jî çêdibe (û bihêle ez destnîşan bikim: xuya ye, nûjenî li hember kodek xirab naparêze).

Nivîsarek baş. Bi demê re, pêşdebir dest pê dikin ku qebûl bikin ku kodek xirab rastiyek nermalavê ye û ku karê wan ew e ku wê baştir bikin. Û ku heke kodek xirab neyê dûr kirin, wê hingê çu xalek tune ku meriv di derheqê wê de tevliheviyê bike. Ew riya Zen digirin, balê dikişînin ser çareserkirina pirsgirêkan an peywirên ku bi wan re rû bi rû dimînin. Ew fêr dibin ka meriv çawa bi awakî rast pîvandin û qalîteya nermalavê bi xwedan karsaziyê re ragihîne, li ser bingeha ezmûna salên xwe texmînên baş-bingehîn dinivîse, û di dawiyê de ji bo nirxa xwe ya nebawer û domdar ji karsaziyê re xelatên bi comerdî werdigirin. Ew karê xwe ew qas baş dikin ku 10 milyon dolar bonus werdigirin û teqawid dibin da ku heya dawiya jiyana xwe tiştê ku ew dixwazin bikin (ji kerema xwe vê yekê ji xwe re negirin).

Hêrsa li kodê: bernamenûs û neyînî

Senaryoyeke din jî rêya tariyê ye. Li şûna ku koda xirab wekî neçarî qebûl bikin, pêşdebiran ew digirin ser xwe ku her tiştê xirab di cîhana bernamesaziyê de bang bikin da ku ew bi ser bikevin. Ew ji ber gelek sedemên baş başkirina koda xirab a heyî red dikin: "divê mirov bêtir zanibin û ew qas gêj nebin"; "Nexweş e"; "ev ji bo karsaziyê xirab e"; "ev îspat dike ku ez çiqas jîr im"; "eger ez ji we re nebêjim ev çi kodek xirab e, dê tevahiya pargîdanî bikeve deryayê," û hwd.

Bê guman nikaribin guheztinên ku ew dixwazin bicîh bînin ji ber ku mixabin karsazî pêdivî ye ku pêşkeftina xwe bidomîne û nikare wextê xwe li ser qalîteya kodê xerc bike, ev kes wekî gilîkar navûdengê digirin. Ew ji ber jêhatîbûna xwe ya bilind têne girtin, lê berbi peravên pargîdaniyê têne avêtin, ku ew ê gelek kesan aciz nekin, lê dîsa jî dê piştgirî bidin xebata pergalên krîtîk. Bêyî gihîştina derfetên pêşkeftina nû, ew jêhatîbûnê winda dikin û dev ji pêkanîna daxwazên pîşesaziyê berdidin. Neyînîbûna wan vediguhere tirşiya tal, û di encamê de ew egoyên xwe bi minaqeşeyên bi xwendekarên bîst salî re li ser rêwîtiya ku teknolojiya wan a kevnar a bijare girtiye û çima hîn ew qas germ e têr dikin. Bi sondxwarinê li çûkan dikevin xanenişînê û pîrbûna xwe dijîn.

Rastî belkî di navbera van her du tundiyan de ye.

Hin pargîdan di afirandina çandên zehf neyînî, girtî, bi îrade (wek Microsoft-ê berê) de pir serfiraz bûne deh salên winda kirin) - pir caran ev pargîdaniyên xwedan hilberên ku bi tevahî sûkê li hev dikin û hewce ne ku bi zûtirîn dem mezin bibin; an pargîdaniyên bi hiyerarşiya ferman û kontrolê (Apple di salên herî baş ên Kar de), ku her kes tiştê ku jê re tê gotin dike. Lêbelê, lêkolîna karsaziya nûjen (û hişmendiya hevpar) pêşniyar dike ku jêhatîbûna herî zêde, ku di pargîdaniyan de dibe sedema nûjeniyê, û di kesan de berberiya bilind, hewceyê asta stresê ya nizm e ku piştgirî bide ramana afirîner û rêbazî ya domdar. Û kirina xebata afirîner, nîqaş-based zehf dijwar e heke hûn bi berdewamî ditirsin ka dê hevkarên we li ser her rêzika koda we çi bibêjin.

Neyînî endazyariya çanda popê ye

Îro ji her demê zêdetir bal tê kişandin ser helwesta endezyaran. Di rêxistinên endezyariyê de, qaîdeya "Ne strûhên". Zêdetir anekdot û çîrok li ser Twitterê derdikevin li ser kesên ku dev ji vê pîşeyê berdane ji ber ku nekarin (nekarin) dijminatî û nebaşiya li hember kesên biyanî bidomînin. Heta Linus Torvalds vê dawiyê lêborîn xwest bi salan dijminatî û rexne li pêşdebirên din ên Linux-ê - ev yek bûye sedema nîqaşê li ser bandora vê nêzîkbûnê.

Hin hîn jî mafê Linus ê ku pir rexnegir be diparêzin - yên ku divê di derheqê awantaj û dezawantajên "neyîniyên toksîk" de pir tiştan bizanibin. Erê, şaristanî pir girîng e (tewra bingehîn), lê heke em sedemên ku gelek ji me rê didin ku vegotina ramanên neyînî bibe "jehrîn" bi kurtî, ev sedem wekî bavparêzî an ciwanî xuya dikin: "ew heq dikin ji ber ku ew ehmeq in. ", "divê ew bawer be ku ew ê careke din nekin," "ger wan wusa nekira, ew ê ne mecbûr bû ku li wan biqîriya" û hwd. Nimûneyek ji bandora reaksiyonên hestyarî yên rêberek li ser civatek bernamesaziyê kurtenivîsa civaka Ruby MINASWAN e - "Matz xweş e ji ber vê yekê em xweş in."

Min bala xwe dayê ku gelek alîgirên dilpak ên nêzîkatiya "bêaqilek bikujin" bi gelemperî li ser kalîte û rastbûna kodê pir girîng eleqedar dibin, xwe bi xebata xwe didin nasîn. Mixabin, ew pir caran hişkiyê bi hişkbûnê re tevlihev dikin. Kêmasiya vê pozîsyonê ji xwesteka mirovî ya sade, lê nehilber ku xwe ji yên din bilindtir hîs dike, derdikeve. Mirovên ku di nava vê xwestekê de bin, di rêya tariyê de asê dibin.

Hêrsa li kodê: bernamenûs û neyînî

Cîhana bernamesaziyê bi lez mezin dibe û li dijî sînorên konteynera xwe - cîhana ne-bernamekirinê (an cîhana bernamesaziyê konteynirek cîhana ne-bernamekirinê ye? Pirs baş e).

Her ku pîşesaziya me bi lezek her ku diçe berfireh dibe û bername bername berdesttir dibe, dûrahiya di navbera "teknolojî" û "normal" de bi lez tê girtin. Cîhana bernamesaziyê her ku diçe zêdetir dikeve ber danûstendinên nav-kesane yên mirovên ku di çanda nerd a veqetandî ya pêşkeftina teknolojiyê ya zû de mezin bûne, û ew e ku dê cîhana nû ya bernamekirinê çêbike. Û bêyî ku her argumanên civakî an nifşî hebe, karîgeriya bi navê kapîtalîzmê dê di çanda pargîdanî û pratîkên kirêdariyê de xuya bibe: pargîdaniyên çêtirîn bi tenê kesê ku nikaribe bi yên din re bi rengekî bêalî tevbigere, nehêle ku têkiliyên wan ên baş hebe, kar nekin.

Tiştê ku ez li ser neyînî fêr bûm

Ger hûn destûrê bidin negatîfiyek pir zêde ku hiş û danûstendinên we bi mirovan re kontrol bike, veguhere jehrê, wê hingê ew ji bo tîmên hilberê xeternak û ji bo karsaziyê biha ye. Min bêhejmar projeyên ku ji hev ketin û bi lêçûnek mezin bi tevahî ji nû ve hatine çêkirin dîtin (û bihîstiye) ji ber ku pêşdebirek pêbawer li dijî teknolojiyê, pêşdebirek din, an tewra pelek yekane jî bijartiye ku qalîteya tevahiya kodê nîşan bide.

Neyînî jî têkiliyan moral û xirab dike. Ez ê çu carî ji bîr nekim ka hevalek çawa min şermezar kir ji ber ku CSS di pelek xelet de xistim, ew min aciz kir û nehişt ku ez çend rojan ramanên xwe berhev bikim. Û di pêşerojê de, ez ne mimkûn e ku destûr bidim kesek wusa ku nêzîkî yek ji tîmên min be (lê kî dizane, mirov diguhezin).

Di dawiyê de, neyînî bi rastî zirarê dide tenduristiya we.

Hêrsa li kodê: bernamenûs û neyînî
Ez wisa difikirim ku divê çînek masterê li ser bişirîn çawa xuya bike.

Bê guman, ev ne argumanek e ku meriv bi bextewariyê bişewitîne, deh mîlyar emotîkan têxe nav her daxwazek kişandinê, an jî çûna dersa masterê li ser bişirîn (na, baş e, heke hûn wusa dixwazin, wê hingê pirs tune). Negatîvî beşek pir girîng a bernamekirinê (û jiyana mirovî) ye, qalîteya îşaretkirinê ye, dihêle ku meriv hestan îfade bike û bi mirovên hevalan re dilşewat bike. Neyînî têgihiştin û aqilmendiyê, kûrahiya pirsgirêkê nîşan dide. Ez pir caran bala xwe didim ku pêşdebirek gihîştiye astek nû dema ku ew dest pê dike ku nebaweriya xwe ji tiştê ku berê jê re ditirs û nebawer eşkere bike. Mirov bi ramanên xwe maqûl û bawerî nîşan dide. Hûn nikarin îfadeya negatîfiyê red bikin, ew ê Orwellian be.

Lêbelê, negatîf hewce ye ku bi taybetmendiyên din ên girîng ên mirovî re were doz kirin û hevseng kirin: empatî, bîhnfirehî, têgihiştin û henek. Hûn her gav dikarin ji kesek re bibêjin ku wî bêyî qîrîn an jî sondxwarinê xelet kiriye. Vê nêzîkatiyê kêm nekin: heke kesek bêyî hestyarî ji we re bêje ku we bi giranî tevlihev kiriye, ew bi rastî tirsnak e.

Wê demê, çend sal berê, CEO bi min re peyivî. Me rewşa heyî ya projeyê nîqaş kir, paşê wî pirsî ka ez çawa hest dikim. Min bersiv da ku her tişt baş bû, proje dimeşe, em hêdî hêdî dixebitîn, dibe ku min tiştek ji dest da û hewce bû ku ji nû ve were fikirîn. Wî got ku wî bihîstiye ku min bêtir ramanên reşbîn bi hevkarên nivîsgehê re parve dikim, û ku yên din jî ev yek dîtibûn. Wî diyar kir ku heke gumanên min hebin, ez dikarim wan bi tevahî ji rêveberiyê re ragihînim, lê ne "wan rakim." Wekî endezyarek serek, divê ez hişyar bibim ka gotinên min çawa bandorê li yên din dikin ji ber ku ez pir bandorek min heye ku ez jê fam nekim. Û wî ev hemî ji min re pir bi dilovanî ji min re got, û di dawiyê de got ku heke ez bi rastî wusa hest dikim, wê hingê dibe ku ez hewce bikim ku ez bifikirim ka ez ji bo xwe û kariyera xwe çi dixwazim. Ew sohbetek bêkêmasî nerm bû, ji cîhê xwe derkeve. Min spasiya wî kir ji bo agahdariya di derheqê helwesta min a guherî ya şeş mehan de çawa bandor li yên din dike ku ji min nayên dîtin.

Ew mînakek rêveberiya berbiçav, bandorker û hêza nêzîkatiyek nerm bû. Min fêm kir ku ez tenê dixuye ku baweriya min a bêkêmasî bi pargîdanî û kapasîteya wê ya gihîştina armancên wê heye, lê di rastiyê de min bi yên din re bi rengek bi tevahî cûda axivî û danûstendin. Min jî fêhm kir ku ger ez li ser projeya ku ez tê de dixebitim bi şik hesiyam jî, divê ez hestên xwe nîşanî hevkarên xwe nekim û reşbîniyê wek enfeksiyonê belav nekim û şansê me yê serketinê kêm bikim. Di şûna wê de, min dikaribû bi tundî rewşa rastîn ji rêveberiya xwe re ragihînim. Û eger min hest kir ku ew guh nadin min, ez dikarim nerazîbûna xwe bi derketina ji pargîdaniyê vebêjim.

Dema ku min wezîfeya serokê nirxandina personelê girt ser milê min fersendek nû wergirt. Wekî serek endezyarek berê, ez pir baldar im ku nerînên xwe li ser koda mîrateya me ya (her-her-pêşveçûn) diyar bikim. Ji bo pejirandina guhertinekê, hûn hewce ne ku hûn rewşa heyî xeyal bikin, lê hûn ê negihîjin cîhek ku hûn di nalîn, êrîş, an jî mîna wan de bikevin. Di dawiyê de, ez li vir im ku karekî temam bikim û divê ji kodê gilî nekim da ku wê fêm bikim, binirxînim, an rast bikim.

Bi rastî, her ku ez reaksiyona xweya hestyarî ya li ser kodê kontrol dikim, ew qas bêtir fam dikim ku ew dikare bibe çi û ez kêm tevliheviyê hîs dikim. Dema ku min xwe bi hesret îfade kir (“divê li vir cîh ji bo pêşdebirina bêtir hebe”), min xwe û yên din dilşad dikir û rewşê zêde cidî nedigirt. Min fêm kir ku ez dikarim negatîfiyê di kesên din de teşwîq bikim û kêm bikim bi bêkêmasî (acizî?) maqûl ("tu rast dibêjî, ev kod pir xirab e, lê em ê wê baştir bikin"). Kêfxweş im ku ez dibînim ka ez çiqasî li ser riya Zenê biçim.

Di bingeh de, ez bi domdarî fêrî dersek girîng dibim û ji nû ve fêr dibim: jiyan pir kurt e ku meriv bi domdarî hêrs û bi êş be.

Hêrsa li kodê: bernamenûs û neyînî

Source: www.habr.com

Add a comment