kód rychleji: 53 tipů od profesionálů

chcete vědět, jak programovat rychleji, abyste mohli dodávat software rychleji? Jistě, kdo ne? Internet je plný tipů pro vývojáře-stovky, tisíce, možná i miliony z nich. Problém je v tom, že je tam mnohem víc, než má kdokoli čas číst, tak jsem je pro vás uvařil.

zde je 53 tipů představujících ty nejlepší rady, které jsem tam zjistil. Ale, než vám řeknu, co jsem našel, musím vysvětlit, co mám na mysli „programováním rychleji,“ a “ tipy.“

problém s „rychlejší“

Chcete-li kódovat rychleji, musíte být efektivní; to znamená, že žádné zbytečné úsilí nebo pohyb. To může znamenat vše od psaní přes Nástroje až po myšlení. Ale většina naší práce programátorů není psaní, nebo kompilace-je to myšlení. Chcete-li myslet rychleji, musíte se naučit více vzorců a vztahů. To jsou znalosti a moudrost, které zkušenost buduje. To, co musíte jít rychleji, se časem změní.

problém s“tipy“

většina tipů, které čtu, platí pouze v určitých bodech na mé cestě a nemusí se nutně vztahovat na všechny. Mnoho z nich spadá do kategorií „osobní cesta“ nebo „co pro mě fungovalo“. Ale moje cesta pravděpodobně není vaše cesta. Zatímco některé z mechanických věcí, které pracují pro mě bude pravděpodobně pracovat pro vás, mnoho z domény a vzor volby jsem udělal může být k ničemu.

mechanické věci se snadno optimalizují; možnosti jsou omezené. Ale učení věci nemá žádné limity. Nikdo se to nikdy nedozví. Musíte učinit strategická a taktická rozhodnutí a být připraveni využít příležitostí, když se objeví.

užitečnost tipů odpadá jako funkce specifičnosti. Konkrétnější tipy se nevztahují na každého, ale obecné tipy jsou také, studna, obecné. Je mnohem obtížnější je proměnit v akci. Co tedy opravdu chcete, když říkáte, že chcete “ jít rychleji?“Řeknu ti to.

to, co chcete, je tok

to, co každý programátor chce, zejména v éře DevOps, je tok. Stav toku maximalizuje propustnost a zvyšuje potěšení začleněním správné úrovně výzvy; jeden zůstává plně zapojen do okamžiku a do práce (to se nesmí zaměňovat s vrcholem Ballmer). Udržování stavu toku vyžaduje vhodné prostředí a proces bez tření.

stav toku při párování je jako každý z vás, který má navíc mozek. Bohužel mnoho vývojářských prostředí, jako jsou otevřené kanceláře,je nepřátelské k toku.

vaše možnosti mohou být omezené

když najdete něco suboptimálního o vašem procesu nebo o sobě, možnosti řešení těchto omezení jsou omezené:

  • ignoruj to. Možná se to zlepší samo o sobě.
  • Vyhněte se tomu. Je to opravdu nutné?
  • Automatizujte to. Ať to udělá stroj.
  • delegujte to. Zřídka je to možné, to je předávání peněz. Je to však legitimní možnost, pokud je k dispozici.
  • brousit to dolů. Všichni to musíme dělat čas od času (denně). Některé práce jsou větší než jiné.

pokud je vaše psaní pomalejší, než byste chtěli, věnujte trochu času a o úroveň výš. Pokud je vaše integrované vývojové prostředí matoucí a neužitečné (nebo možná příliš užitečné), zkuste něco jiného nebo jednoduššího. Pokud se nemůžete dostat pryč od něj, dozvědět se více o tom; můžete najít jiný způsob, nebo alespoň naučit limity.

existuje mnoho způsobů, jak se učit. Google je váš přítel, stejně jako knihy, videa, blogové příspěvky, otázky přetečení zásobníku a samozřejmě i další lidé. Některé věci, které se chcete naučit, mohou být skryty; jiné mohou být větší, než se zdá. Vyvážte přínos s úsilím a buďte trpěliví sami se sebou. Oslavte každý úspěch a pokračujte v pohybu.

Nejlepší tipy pro rychlejší programování

jedním ze způsobů seskupování a prohlížení níže uvedených tipů je použití několika kategorií na vysoké úrovni jako způsobu, jak nakreslit zajímavé zobecnění ze sbírky:

  • Zamyslete se. Co chcete, co vlastně děláte; zahrnuje měření a optimalizaci.
  • průtok. Žádné tření z nástrojů, procesů, prostředí nebo znalostí; hledat neustálou výzvu, ale ne příliš mnoho.
  • učit se. Základ: jazyky, nástroje, vzory, postupy atd., od všech (zejména těch, kteří jsou ochotni učit); Naučte se, jak se učíte, a učit se nepřetržitě.
  • Teach. Učte ostatní. Nutnost vysvětlovat věci nutí zjednodušení a transformace z myšlenek na verbální nebo vizuální výrazy vytváří postřehy.
  • vyjádřit a prozkoumat. Podívejte se mimo své běžné povinnosti; kreslit, psát, blog, jít na setkání, navštěvovat a prezentovat, v případě potřeby si promluvte s Wilsonem the volleyball.

níže uvedené tipy jsou jednoduše datové body, věci k zamyšlení-ne tahák na celý život nebo seznam úkolů pro vaši kariéru programátora. Začal jsem se seznamem 183 tipů, seskupil je do kategorií, přidělil prioritu na základě opakování a osobní zaujatosti a vzal z nich několik nejlepších.

to je pravda, zaujatost. Vím, co dělá vývojáře dobrým nebo rychlým programátorem, takže všechno, co jsem četl, jsem filtroval přes svou zaujatost. Konkrétně, jsem zaujatý:

  • agilní metody.
  • návrh řízený doménou.
  • automatizované testování.
  • neustálé zlepšování.
  • minimální řešení.
  • nástroje bez tření.
  • pracuje co nejvíce v průtokovém stavu.

a rozhodně souhlasím s prohlášením Roberta C. „strýčka Boba“ Martina o „vehementní průměrnosti“:

„jediný způsob, jak jít rychle, je jít dobře. Pokaždé, když podlehnete pokušení vyměnit kvalitu za rychlost, zpomalíte. Pokaždé.“

vezměte následující tipy (a vše ostatní, co čtete na internetu) se zrnkem soli. Zachovat a přizpůsobit to, co funguje; zlikvidujte to, co je zbytečné.

a tady je můj tip pro rychlejší programování: zaměřte se na kvalitu a rychlost bude následovat.

reflexe je klíčem

reflexe je klíčem k sebezdokonalování:

  • neustále zlepšujte svůj rozhodovací proces; poučte se ze svých chyb bez výčitek.
  • Eliminujte slepá místa ve vašem chápání celého rozsahu aplikace a jejího prováděcího prostředí.
  • nenechte se honit za ocasem; identifikovat a eliminovat časové propady.

měřte objektivně

někdy víte, jaké je vaše největší omezení, a někdy to musíte měřit.

  • zvažte provedení podrobného auditu sebe sama, když pracujete několik dní.
  • je to stejně jako optimalizace jakéhokoli kódu. Zaznamenejte vše, identifikujte hotspoty a vylepšujte je.
  • kam plyne váš čas? Mnoho programátorů tráví mnohem více času čtením kódu než psaním kódu; jak se naučíte číst kód rychleji?

praxe, praxe, praxe

není možné obejít určitou úroveň praxe, na různých výzvách.

  • napište spoustu softwaru.
  • napište větší programy.
  • napište kód připravený na recenzi od začátku.
  • existuje spousta míst k praxi, včetně topcoder.com, projekt Euler, hackerrank.com. vybere jeden a jít.

Design pro úspěch

učení návrhových technik by mělo být dané, součástí zvládnutí vašich nástrojů myšlení. Kromě toho:

  • porozumět uživateli; pochopit jejich problém, skutečný problém; a pak to vyřešit. Znalost domény nesmírně pomáhá.
  • Promluvte si s kolegy a odborníky na Domény o problému, řešení a designu.
  • snižte kognitivní zátěž kreslením nebo psaním, zatímco si myslíte a kódujete.
  • při navrhování pro dlouhověkost a údržbu nezapomeňte, že data přežijí kód.
  • vědět, kdy znovu vynalézat kolo a kdy ne (Obvykle ne).
  • pojmenujte věci účelně; toto je jediný odkaz z kódu zpět na doménu.

hřebík proces

trávíme spoustu času v procesech naší vlastní konstrukce; nebojte se je změnit.

  • aby chyby nemožné záměrné. Selhání rychle, použijte výjimky namísto nulových kontrol, použijte typový systém, abyste zabránili chybám dat, a použijte automatizované testování.
  • pokud jste v rozpacích, kde začít, začněte s částí, které nejlépe rozumíte.
  • napište kód, který by skutečně vytvořil produkt jako první, bez ohledu na to, jak hloupý nebo malý je tento produkt.
  • neignorujte chyby; každá chyba něco znamená.
  • postupujte podle agilního přístupu k vývoji.
  • vytáhněte abstrakce pouze tehdy, pokud mají smysl a skutečně by byly znovu použity.
  • stojí na ramenou obrů; používejte knihovny s otevřeným zdrojovým kódem, řešení třetích stran atd.
  • Optimalizujte pro jednoduchost; nejlepší kód je kód, který nemusíte psát.
  • Automatizujte testování a procvičujte vývoj řízený testem (TDD)
  • Používejte inteligentní nástroje, jako jsou IDE, nástroje pro generování kódu atd., ale nebojte se down-shift, pokud se vám dostanou do cesty.
  • buďte velmi obeznámeni se svým jazykem a standardní knihovnou. Čím méně času strávíte plazením v dokumentaci, tím lépe.
  • použijte řízení zdroje-dokonce i na vlastní pěst.
  • použijte profiler. Optimalizujte pouze to, co je nezbytné
  • Naučte se dotýkat-type. Programátoři psát hodně, a ne jen kód; To snižuje kognitivní zatížení psaní na nulu, a zvyšuje rychlost a přesnost

vytvořit správné pracovní prostředí

neustálé přerušení, nepříjemné okolnosti, a nekonečné setkání odradit tok.

  • ujistěte se, že jste v prostředí, které vás nebude rozptylovat; znemožněte rozptýlení, aby vás přerušilo.
  • Poznejte sebe a pracujte během svého špičkového času-ne někoho jiného.

Prozkoumejte mimo práci

ne vše, co byste chtěli vědět, je ve vaší kanceláři nebo na internetu.

  • vystavte se novým nástrojům a technikám. Nech si to, co funguje.
  • Práce na vedlejších projektech a open source projektech.

Udržujte to zdravé

mrtví lidé nepíšou žádný kód. Nemocní lidé píší špatný kód. Dávej na sebe pozor.

  • znáte hodnotu odstupu od kódu.
  • Získejte více spánku, jíst lépe a pracovat méně hodin.
  • meditujte.

rozvíjejte dobré učební návyky

učení je pro programátory celoživotní proces, ale varovali jsme: internet je plný lesklých věcí.

  • zvládnout základy: programovací paradigmata a postupy jako DRY (neopakujte se) A and SOLID (single responsibility, open-closed, liskov substituce, interface segregation and dependency inverze)pro OOP), patterns and anti-patterns, algoritmy, data theory, graph theory, atd.
  • Učte se tím. Při učení si vždy hrajte s kódem.
  • Najděte mentora.
  • Prozkoumejte různé způsoby učení, abyste zjistili, co pro vás funguje.

kvalita není konstantní

kvalita pokrývá hodně půdy, od čitelnosti kódu přes jeho modulární strukturu a složitost až po to, jak dobře vyjadřuje své doménové záměry.

  • zaměřte se na kvalitu, nikoli na rychlost.
  • přijměte, že kód „kvalita“ v daném okamžiku je “ to nejlepší, co můžete dělat s tím, co máte a víte.“
  • vždy se snažte; je to dobrá praxe.
  • pouze v extrému (tj. prototypování/zkoumání / odhazování kódu) a dočasné okolnosti byste měli nechat kvalitu kódu klesnout pod úroveň „toho nejlepšího, co můžete udělat“ (a měli byste se za to trochu stydět.)

Soft skills matter

nenašel jsem mnoho tipů o dovednostech lidí, ale lidé jsou do značné míry nevyhnutelní; ty, které jsem našel, byly docela užitečné.

  • vědět, jak komunikovat s lidmi, vám umožní učit se od a učit ty kolem vás s menším třením a větší radostí.
  • naučit se psát a mluvit jasně vám pomůže rychleji získat vaše nápady.

jděte a kód

takže to je vše, Moje shrnutí nejlepších rad pro rychlejší programování. Postupujte podle těchto tipů a budete na dobré cestě ke zlepšení svých programovacích dovedností-a kódování rychleji.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.