Viena no idiotiskÄkajÄm profesijÄm ir vadÄ«tÄji, kas pÄrvalda programmÄtÄjus. Ne visi, bet tie, kas paÅ”i nebija programmÄtÄji. Tie, kas domÄ, ka ir iespÄjams āpaaugstinÄtā efektivitÄti (vai palielinÄt āefektivitÄtiā?), izmantojot metodes no grÄmatÄm. Pat necenÅ”oties lasÄ«t Ŕīs paÅ”as grÄmatas, video ir ÄigÄnu.
Tie, kas nekad nav rakstÄ«juÅ”i kodu. Tie, kuriem tiek veidotas Holivudas filmas par programmÄtÄjiem - labi, tie, kur viÅi skatÄs e-pastu, izmantojot komandrindu. Tie, kuriem neinteresÄ nekas cits kÄ tikai rÄdÄ«tÄji, termiÅi un sava alga.
Tie, kas ir vairÄkums.
Bet viÅi ir idioti cita iemesla dÄļ. ViÅi vÄlas efektivitÄti vai vismaz efektivitÄti (nav, menedžeri, Google, kÄda ir atŔķirÄ«ba), nesaprotot ne vienu, ne otru. VispÄrÄ«gi neizprotot bÅ«tÄ«bu, rezultÄta iegÅ«Å”anas procesu, zaudÄjumus, kas rodas Å”ajÄ procesÄ, izstrÄdes izmaksas. ÄŖsÄk sakot, strÄdÄt ar programmÄtÄju tÄ, it kÄ viÅÅ” bÅ«tu melnÄ kaste.
ViÅi saskÄrÄs ar programmÄtÄju vadÄ«bu tieÅ”i viena iemesla dÄļ: ir ažiotÄža, nauda, āātirgus un to paÅ”u idiotu bars. Ir kur pazust.
Ja bÅ«tu ažiotÄža mehÄnisko mezglu ražoÅ”anÄ, mÄs tur skrietu. UniversÄlie sÅ«c. Es nebrÄ«nÄ«tos, ka puisis, kurÅ” decembrÄ« mÅ«su apkaimÄ pÄrdod ZiemassvÄtku eglÄ«tes, ir IT vadÄ«tÄjs atvaļinÄjumÄ.
ÄŖsÄk sakot, ja iespÄjams, Å”aujiet Å”iem puiÅ”iem pa kaklu. Neuztraucieties, viÅi atradÄ«s darbu. Neviens no viÅiem nekad nedarÄ«s neko pienÄcÄ«gu, kamÄr viÅi paÅ”i nekļūs par programmÄtÄju. Jo viÅÅ” nesaprot sava vadÄ«tÄ procesa bÅ«tÄ«bu, mehÄnismu, loÄ£iku.
Labi, pietiek par vadÄ«tÄjiem. Tagad pie lietas, programmÄtÄjiem. KÄ palielinÄt izstrÄdes efektivitÄti, mÄcoties rakstÄ«t kvalitatÄ«vu kodu.
Lai palielinÄtu efektivitÄti, problÄmas jÄatrisina ÄtrÄk, nezaudÄjot kvalitÄti. Lai ÄtrÄk atrisinÄtu problÄmas, jums nekavÄjoties jÄspÄj uzrakstÄ«t augstas kvalitÄtes kodu. Un āaugstas kvalitÄtesā, un ārakstÄ«tā un ātÅ«lÄ«tā. Ä»aujiet man paskaidrot ar metaforu.
RakstÄ«t augstas kvalitÄtes kodu ir kÄ pareizi runÄt sveÅ”valodÄ. Ja jÅ«s nezinÄt valodu, jÅ«s pavadÄt daudz laika, mÄÄ£inot formulÄt tajÄ savas domas.
Ja jums kaut kas steidzami jÄsaka, jÅ«s vienkÄrÅ”i pielÄ«mÄjat dažus vÄrdus, bieži vien ne pareizos, aizmirstat par rakstiem, pareizo vÄrdu secÄ«bu, nemaz nerunÄjot par darbÄ«bas vÄrdu laikiem un sliktu izrunu.
Ja jums ir laiks formulÄt atbildi, jums bÅ«s jÄatver vÄrdnÄ«ca vai tieÅ”saistes tulkotÄjs un jÄpavada daudz laika, lai formulÄtu savas domas. TomÄr sajÅ«ta joprojÄm bÅ«s nepatÄ«kama: tu saki atbildi un nezini, vai tÄ ir pareiza vai nÄ. Tas pats ir ar kodu ā Ŕķiet, ka tas ir uzrakstÄ«ts, Ŕķiet, ka tas darbojas, bet tas, vai tas ir kvalitatÄ«vs vai nÄ, ir noslÄpums.
IzrÄdÄs, ka tÄ ir dubulta laika izŔķieÅ”ana. Ir nepiecieÅ”ams laiks, lai rastu atbildi. ArÄ« Ŕīs atbildes formulÄÅ”ana prasa laiku ā un ne tik maz.
Ja ir prasme uzrakstÄ«t kvalitatÄ«vu kodu, tad atbildi var noformulÄt uzreiz, tiklÄ«dz tÄ ir nobriedusi galvÄ, netÄrÄjot papildu laiku tulkoÅ”anai.
Prasme rakstÄ«t augstas kvalitÄtes kodu palÄ«dz projektÄjot arhitektÅ«ru. JÅ«s vienkÄrÅ”i neuzskatÄ«sit par nepareizÄm, nerealizÄjamÄm vai nospiestÄm iespÄjÄm savÄ galvÄ.
RezumÄjot: prasme rakstÄ«t augstas kvalitÄtes kodu ievÄrojami paÄtrina problÄmu risinÄÅ”anu.
Bet tas vÄl nav viss. Pateicoties filca zÄbaku vadÄ«tÄjiem, ir viens ÄÄ·is - mums nav iemesla rakstÄ«t augstas kvalitÄtes kodu. PÄrzinis neskatÄs kodu, klients neskatÄs kodu. MÄs reti rÄdÄm kodu viens otram, tikai dažreiz dažos projektos, kur ir noteikts koda āpÄrbaudÄ«tÄjsā vai periodiska pÄrveidoÅ”ana.
IzrÄdÄs, ka vairumÄ gadÄ«jumu sÅ«dais kods nonÄk ražoÅ”anÄ vai pie klienta. CilvÄks, kurÅ” ir uzrakstÄ«jis sÅ«dÄ«gu kodu, veido stabilu neironu savienojumu - sÅ«dÄ«gu kodu ne tikai var uzrakstÄ«t, bet tas ir arÄ« nepiecieÅ”ams - tas tiek pieÅemts, un viÅi par to pat maksÄ.
RezultÄtÄ prasmei rakstÄ«t kvalitatÄ«vu kodu vispÄr nav izredžu attÄ«stÄ«ties. NosacÄ«ta darbinieka rakstÄ«to kodu neviens nekad nepÄrbauda. VienÄ«gais iemesls, kÄpÄc viÅÅ” iemÄcÄ«sies normÄli programmÄt, ir iekÅ”ÄjÄ motivÄcija.
Bet Ŕī iekÅ”ÄjÄ motivÄcija ir pretrunÄ ar plÄniem un prasÄ«bÄm attiecÄ«bÄ uz efektivitÄti un produktivitÄti. Å Ä« pretruna acÄ«mredzami nav atrisinÄta par labu augstas kvalitÄtes kodam, jo āācilvÄki pat nekritizÄ cilvÄkus par sÅ«du kodu. Un par plÄna neizpildi - pat tÄ.
Ko man darÄ«t? Es redzu un piedÄvÄju divus ceļus, kurus var apvienot.
Pirmais ir parÄdÄ«t savu kodu kÄdam uzÅÄmuma iekÅ”ienÄ. Nevis reaktÄ«vi (ja prasa/piespiedu kÄrtÄ), bet proaktÄ«vi (uh, vecÄ«t, paskaties uz manu kodu, lÅ«dzu). Å eit galvenais ir neizlikt cukurotus puÅÄ·us, nemÄÄ£inÄt koda kritiku ielikt pieklÄjÄ«gÄ formÄ. Ja kods ir muļķīgs, mÄs sakÄm tÄ: kods ir muļķīgs. Ar paskaidrojumiem, protams, un ieteikumiem, kÄ to uzlabot.
Bet arÄ« Å”is ceļŔ ir tÄds. TÄs piemÄrojamÄ«ba ir atkarÄ«ga no kontakta vietas. Ja darbs jau ir nonÄcis ražoÅ”anÄ un izrÄdÄs, ka kods ir Å”vaka, nav jÄgas to pÄrtaisÄ«t. PrecÄ«zÄk, iemesli - arÄ« rÄdÄ«tÄji nokritÄ«sies. VadÄ«tÄji steigsies un sagraus jÅ«s ar efektivitÄtes prasÄ«bÄm. Un pat nemÄÄ£iniet viÅiem paskaidrot, ka sÅ«dais kods noteikti atgriezÄ«sies kļūdu veidÄ - tas atspÄs jÅ«s. JÅ«s varat tikai apÅemties to vairs nedarÄ«t.
Ja darbs vÄl nav piegÄdÄts, vai ir tikko sÄcies, tad sÅ«du uzbÄrÅ”anai uz koda (vai tÄ projekta, idejas) var bÅ«t diezgan praktiska nozÄ«me - cilvÄks to darÄ«s normÄli.
Otrs veids, stilÄ«gÄkais, ir atvÄrtÄ koda izstrÄde Ärpus darba laika. KÄds ir mÄrÄ·is: lai virkne programmÄtÄju, proti, programmÄtÄji, redzÄtu jÅ«su kodu un par to runÄtu. Ikvienam uzÅÄmumÄ nav laika. Bet programmÄtÄjiem visÄ pasaulÄ joprojÄm nav ko darÄ«t, un, ja uzrakstÄ«sit kaut ko noderÄ«gu no aplikÄcijas viedokļa, viÅi noteikti ieskatÄ«sies iekÅ”Ä.
Galvenais triks, manuprÄt, ir koda rakstÄ«Å”ana Ärpus darba laika, jo pretruna starp koda kvalitÄti un rezultÄta piegÄdes Ätrumu nedarbosies. Uzrakstiet savu attÄ«stÄ«bu vismaz gadu. Ne termiÅi, ne tehniskÄs specifikÄcijas, ne nauda, āāne priekÅ”nieks uz tevi neizdarÄ«s spiedienu. PilnÄ«ga brÄ«vÄ«ba un radoÅ”ums.
Tikai brÄ«vÄ radoÅ”umÄ sapratÄ«si un sajutÄ«si, kas ir lielisks kods, ieraudzÄ«si valodas un tehnoloÄ£iju skaistumu un sajutÄ«si biznesa uzdevumu Å”armu. Nu, jÅ«s iemÄcÄ«sities rakstÄ«t augstas kvalitÄtes kodu.
Tiesa, tas prasÄ«s jums veltÄ«t personÄ«go laiku. TÄpat kÄ jebkura cita attÄ«stÄ«ba. Skatieties uz to nevis kÄ uz izmaksÄm, bet kÄ uz ieguldÄ«jumu ā sevÄ«.
Avots: www.habr.com