Cod mai rapid: 53 sfaturi de la profesioniști

vrei să știi cum să programezi mai repede, astfel încât să poți livra software mai repede? Sigur, cine nu? Internetul este plin de sfaturi pentru dezvoltatori—sute, mii, poate chiar milioane dintre ei. Problema este, există mult mai mult acolo decât oricine are timp să citească, așa că le-am fiert în jos pentru tine.

Iată 53 de sfaturi care reprezintă cel mai bun sfat pe care l-am găsit acolo. Dar, înainte să vă spun ce am găsit, trebuie să explic ce vreau să spun prin „programare mai rapidă” și „sfaturi.”

problema cu”mai repede”

pentru a codifica mai repede, trebuie să fii eficient; adică fără efort sau mișcare irosită. Acest lucru poate însemna totul, de la tastare la instrumente până la gândire. Dar cea mai mare parte a muncii noastre ca programatori nu este tastarea sau compilarea—este gândirea. Pentru a gândi mai repede, trebuie să înveți mai multe modele și Relații. Aceasta este cunoașterea și înțelepciunea pe care experiența le construiește. Ceea ce trebuie să mergeți mai repede se va schimba în timp.

problema cu „sfaturi”

majoritatea sfaturilor pe care le-am citit se aplică doar în anumite puncte de-a lungul călătoriei mele și nu se aplică neapărat tuturor. Multe dintre acestea se încadrează în categoriile „călătorie personală” sau „ce a funcționat pentru mine”. Dar calea mea, probabil, nu este calea ta. În timp ce unele dintre lucrurile mecanice care funcționează pentru mine vor funcționa probabil pentru dvs., multe dintre alegerile de domeniu și model pe care le-am făcut pot fi de nici un folos.

chestii mecanice este destul de ușor pentru a optimiza; opțiunile sunt limitate. Dar lucrurile de învățare nu au limite. Nimeni nu va ști vreodată totul. Trebuie să faceți alegeri strategice și tactice și să fiți pregătiți să profitați de oportunități atunci când apar.

utilitatea sfaturilor cade în funcție de specificitate. Sfaturile mai specifice nu se aplică tuturor, dar sfaturile generale sunt prea, bine, generale. Sunt mult mai greu de transformat în acțiune. Deci, ce vrei cu adevărat când spui că vrei să ” mergi mai repede?”Îți voi spune.

ceea ce vrei este fluxul

ceea ce vrea fiecare programator, mai ales în era DevOps, este fluxul. Starea fluxului maximizează debitul și crește plăcerea prin încorporarea nivelului corect de provocare; unul rămâne pe deplin angajat în acest moment și în muncă (acest lucru nu trebuie confundat cu vârful Ballmer). Menținerea stării fluxului necesită un mediu adecvat și un proces fără frecare.

starea fluxului atunci când împerecherea este ca și cum fiecare dintre voi are un creier suplimentar. Din păcate, multe medii pentru dezvoltatori, cum ar fi birourile deschise, sunt neprietenoase pentru a curge.

opțiunile dvs. pot fi limitate

când găsiți ceva sub-optim despre procesul dvs. sau despre dvs., opțiunile de abordare a acestor constrângeri sunt limitate:

  • ignoră-l. Poate că va fi mai bine pe cont propriu.
  • evitați-l. Este cu adevărat necesar?
  • automatizează-l. Fă mașina să o facă.
  • delegați-l. Rareori este posibil, acest lucru este trece Dolar. Dar este o opțiune legitimă atunci când este disponibilă.
  • se macină în jos. Cu toții trebuie să facem acest lucru din când în când (zilnic). Unele locuri de muncă sunt mai mari decât altele.

dacă tastarea dvs. este mai lentă decât doriți, luați puțin timp și ridicați nivelul. Dacă mediul dvs. de dezvoltare integrat este confuz și nefolositor (sau poate prea util), încercați ceva diferit sau mai simplu. Dacă nu poți scăpa de ea, Află mai multe despre ea; s-ar putea să găsești o altă cale sau cel puțin să înveți limitele.

există numeroase modalități de a învăța. Google este prietenul tău, la fel ca și cărțile, videoclipurile, postările de pe blog, întrebările de depășire a stivei și, desigur, alte persoane. Unele lucruri pe care doriți să le învățați pot fi ascunse; altele pot fi mai mari decât par. Echilibrează beneficiul cu efort și ai răbdare cu tine însuți. Sărbătoriți fiecare realizare și continuați să vă mișcați.

sfaturi de top pentru programare mai rapidă

o modalitate de grupare și de a privi sfaturile de mai jos este aplicarea câtorva Categorii la nivel înalt ca o modalitate de a atrage generalizări interesante din colecție:

  • reflectă. Ce vrei, ce faci de fapt; include măsurarea și optimizarea.
  • Flux. Fără fricțiuni de la instrumente, procese, mediu sau cunoștințe; căutați provocări continue, dar nu prea mult.
  • aflați. Fundamentele: limbi, instrumente, modele, practici etc., de la toată lumea (în special cei care doresc să învețe); aflați cum învățați și învățați continuu.
  • învață. Învață-i pe alții. Nevoia de a explica lucrurile forțează simplificarea, iar transformarea de la gânduri la expresii verbale sau vizuale produce perspective.
  • Express și de a explora. Uită-te în afara îndatoririle normale; desena, scrie, blog, du-te la meetups, participa și să dea prezentări, vorbesc cu Wilson volei, dacă este necesar.

sfaturile de mai jos sunt pur și simplu puncte de date, lucruri de meditat—nu o foaie de înșelăciune pe viață sau o listă de sarcini pentru cariera ta de programator. Am început cu o listă de 183 de sfaturi, le-am grupat în categorii, am atribuit o prioritate bazată pe repetiție și părtinire personală și am luat primele câteva din fiecare.

așa e, bias. Știu ce face un dezvoltator bun sau programator rapid, așa că tot ce am citit am filtrat prin părtinirea mea. Mai exact, sunt părtinitoare față de:

  • metode Agile.
  • proiectare bazată pe domeniu.
  • testare automată.
  • îmbunătățire continuă.
  • soluții minime.
  • unelte fără frecare.
  • de lucru în stare de flux cât mai mult posibil.

și sunt de acord cu afirmația lui Robert C. „unchiul Bob” Martin despre „mediocritatea vehementă”:

„singura modalitate de a merge repede este de a merge bine. De fiecare dată când cedezi tentației de a schimba calitatea pentru viteză, încetinești. De fiecare dată.”

luați următoarele sfaturi (și orice altceva citiți pe internet) cu un bob de sare. Păstrați și adaptați ceea ce funcționează; aruncați ceea ce este inutil.

și iată sfatul meu pentru programare mai rapidă: concentrați-vă pe calitate și viteza va urma.

reflecția este cheia

reflecția este cheia auto-îmbunătățirii:

  • îmbunătățește-ți continuu procesul de luare a deciziilor; învață din greșelile tale fără reproșuri.
  • eliminați unghiurile moarte în înțelegerea întregului domeniu de aplicare al aplicației dvs. și a mediului său de execuție.
  • nu vă urmăriți coada; identificați și eliminați chiuvetele de timp.

măsoară obiectiv

uneori știi care este cea mai mare constrângere a ta și uneori trebuie să o măsori.

  • luați în considerare efectuarea unui audit detaliat al dvs. în timp ce lucrați câteva zile.
  • este la fel ca optimizarea orice bucată de cod. Înregistrați totul, identificați hotspot-urile și îmbunătățiți-le.
  • unde se duce timpul tău? Mulți programatori petrec mult mai mult timp citind codul decât scriind codul; cum înveți să citești Codul mai repede?

practică, practică, practică

nu există nici o achiziție în jurul valorii de un anumit nivel de practică, pe o varietate de provocări.

  • scrie o mulțime de software.
  • scrie programe mai mari.
  • scrieți codul pregătit pentru recenzie de la început.
  • există o mulțime de locuri de practică, inclusiv topcoder.com, proiectul Euler, hackerrank.com. alege unul și pleacă.

proiectare pentru succes

învățarea tehnicilor de proiectare ar trebui să fie o parte dată, a stăpânirii instrumentelor tale de gândire. În plus:

  • înțelegeți utilizatorul; înțelegeți problema lor, problema reală; și apoi rezolvați-o. Cunoașterea domeniului ajută foarte mult.
  • discutați cu colegii și experții din domeniu despre Problemă, Soluție și design.
  • reduceți sarcina cognitivă desenând sau scriind în timp ce gândiți și codificați.
  • când proiectați pentru longevitate și întreținere, amintiți-vă că datele depășesc codul.
  • știți când să reinventați roata și când să nu (de obicei nu).
  • denumiți lucrurile în mod intenționat; acesta este singurul link din cod înapoi la domeniu.

cuie procesul

petrecem mult timp în procesele propriei noastre construcții; nu vă fie teamă să le schimbați.

  • face bug-uri imposibil de proiectare. Fail fast, utilizați excepții în loc de verificări nule, utilizați sistemul de tip pentru a preveni erorile de date și utilizați testarea automată.
  • dacă nu știți de unde să începeți, începeți cu partea pe care o înțelegeți cel mai bine.
  • scrieți codul care ar face de fapt un produs mai întâi, indiferent cât de prost sau mic este acel produs.
  • nu ignora erorile; fiecare eroare înseamnă ceva.
  • urmați o abordare agilă a dezvoltării.
  • scoate abstracții numai dacă au sens și ar fi de fapt reutilizate.
  • stați pe umerii giganților; utilizați biblioteci open source, soluții terțe și așa mai departe.
  • Optimizați pentru simplitate; cel mai bun cod este codul pe care nu trebuie să-l scrieți.
  • Automatizați testarea și exersați dezvoltarea bazată pe teste (TDD)
  • utilizați instrumente inteligente, cum ar fi IDE-uri, utilități de generare de coduri etc., dar nu – ți fie frică să cobori dacă îți stau în cale.
  • fiți extrem de familiarizați cu limba și biblioteca standard. Cu cât petreci mai puțin timp târându-te în documentație, cu atât mai bine.
  • utilizați controlul sursei — chiar și pe cont propriu.
  • folosiți un profiler. Optimizați numai ceea ce este necesar
  • Aflați cum să atingeți tipul. Programatorii tastează mult și nu doar Cod; acest lucru reduce sarcina cognitivă de tastare la zero și îmbunătățește viteza și precizia

creați mediul de lucru potrivit

întreruperile constante, circumstanțele incomode și întâlnirile nesfârșite descurajează fluxul.

  • asigurați-vă că vă aflați într-un mediu care nu vă va distrage atenția; faceți imposibil ca distragerile să vă întrerupă.
  • Cunoaște-te pe tine însuți și lucrează în timpul tău de vârf — nu al altcuiva.

explorați în afara muncii

nu tot ceea ce ați putea dori să știți este în biroul dvs. sau pe Internet.

  • expuneți-vă la noi instrumente și tehnici. Păstrați ceea ce funcționează.
  • lucrați la proiecte secundare și proiecte open source.

păstrați-l sănătos

oamenii morți nu scriu niciun cod. Oamenii bolnavi scriu coduri proaste. Ai grijă de tine.

  • cunoaște valoarea pas cu pas departe de codul.
  • dormi mai mult, mănâncă mai bine și lucrează mai puține ore.
  • meditează.

dezvoltați obiceiuri bune de învățare

învățarea este un proces de-a lungul vieții pentru programatori, dar am avertizat: Internetul este plin de lucruri strălucitoare.

  • stăpânește fundamentele: paradigme și practici de programare precum uscat (nu te repeta) și SOLID (responsabilitate unică, deschis-închis, substituție Liskov, segregarea interfeței și inversarea dependenței)pentru OOP), modele și anti-modele, algoritmi, teoria datelor, teoria grafurilor etc.
  • învață făcând. Jucați întotdeauna cu codul în timp ce învățați.
  • găsiți un mentor.
  • explorați diferite moduri de a învăța pentru a vedea ce funcționează pentru dvs.

calitatea nu este constantă

calitatea acoperă mult teren, de la lizibilitatea codului la structura și complexitatea sa modulară, la cât de bine își exprimă intențiile de domeniu.

  • concentrați-vă pe calitate, nu pe viteză.
  • acceptați că codul „calitate” la un moment dat este „cel mai bun pe care îl puteți face cu ceea ce aveți și știți.”
  • faceți întotdeauna tot ce este mai bun; este o practică bună.
  • numai în extreme (adică. prototipare/explorare / cod de aruncare) și circumstanțe temporare ar trebui să lăsați calitatea codului dvs. să scadă sub nivelul „cel mai bun pe care îl puteți face” (și ar trebui să vă simțiți ușor rușinat să o faceți.)

soft skills matter

nu am găsit multe sfaturi despre abilitățile oamenilor, dar oamenii sunt destul de inevitabili; cei pe care i-am găsit au fost destul de utili.

  • a ști cum să interacționezi cu oamenii îți va permite să înveți de la cei din jurul tău și să îi înveți cu mai puțină fricțiune și mai multă bucurie.
  • învățarea de a scrie și de a vorbi clar vă va ajuta să vă transmiteți ideile mai repede.

du-te mai departe și cod

deci asta e, rezumatul meu de cele mai bune sfaturi acolo pentru programare mai repede. Urmați aceste sfaturi și veți fi pe cale să vă îmbunătățiți abilitățile de programare—și să codificați mai repede.

Lasă un răspuns

Adresa ta de email nu va fi publicată.