Ați găsit un curs, un tutorial sau o carte excelentă care vă va învăța să codificați. Resursa vă vorbește, are un sens perfect și învățați o mulțime de lucruri. Ați început cu succes călătoria dvs. de a învăța să codificați. Bravo ție!
Următorul pas, bineînțeles, este să pui în practică ceea ce ai învățat. Dacă nu este evident, practica este crucială pentru procesul de învățare. Acest lucru este valabil pentru orice materie și cu siguranță este valabil pentru codare. Imaginați-vă că încercați să învățați să cântați la vioară doar urmărind pe cineva care cântă, fără să atingeți vreodată vioara dumneavoastră. Același lucru este valabil și în cazul codării: Poți înțelege clar conceptele, dar nu vei deveni niciodată competent în acest domeniu fără să exersezi o tonă de practică.
Dar cum exersezi? Sau mai bine spus: Care este cel mai bun mod de a exersa codarea?
Diferiți oameni funcționează diferit, așa că multe nu există un singur mod cel mai bun pentru toată lumea. Cu toate acestea, aș dori să vă prezint o abordare specifică și eficientă pe care este posibil să nu o fi luat în considerare până acum.
Autorul de best-seller și bloggerul James Clear scrie pe larg despre un tip de practică numit „practică deliberată”. Vă recomand cu căldură să citiți postările sale de pe blog pe această temă. Două articole bune pentru început sunt aici și aici.
Clear scrie că „practica deliberată se referă la un tip special de practică care este intenționată și sistematică. În timp ce practica obișnuită ar putea include repetiții fără noimă, practica deliberată necesită o atenție concentrată și se desfășoară cu scopul specific de a îmbunătăți performanța.”
Practica deliberată constă în următoarele componente:
- Află-te pentru a face repetițiile tale.
- Dispuneți procesul general în părți
- Măsurați-vă
- Testați noi strategii pentru fiecare secțiune
- Integrați-vă învățarea în procesul general.
Să explicăm ce înseamnă acești pași, și în mod specific în domeniul practicării codării. Apropo, aceste strategii nu sunt doar pentru începătorii în codare. Ele pot fi folosite și de inginerii software cu experiență pentru a-i ajuta să se ridice la un nivel superior în ceea ce privește abilitățile lor.
1. Prezentați-vă pentru a vă face repetițiile
Răspândiți-vă timp în fiecare zi pentru a practica codarea. Pe cât posibil, încercați să nu ratați nicio zi – continuați seria! Este mai bine să exersați pentru un timp mai scurt în fiecare zi decât să exersați pentru o perioadă mai lungă o dată pe săptămână. Vă recomand să includeți timp de practică în programul zilnic, mai degrabă decât să încercați să găsiți timp în fiecare zi pentru a o strecura.
2. Împărțiți procesul general în părți
Majoritatea aspectelor de codificare constau din mai multe părți diferite. Construirea unei aplicații web, de exemplu, poate consta în programare back-end și programare front-end. Programarea back-end, la rândul său, poate fi împărțită în utilizarea unui limbaj server-side, a unui cadru server-side și proiectarea bazei de date. Programarea front-end poate fi împărțită în utilizarea HTML, CSS, JavaScript și a unui cadru front-end. Și mai există și utilizarea instrumentelor de dezvoltare, cum ar fi terminalul, un editor de text și controlul versiunilor.
Dedică fiecare sesiune de practică uneia dintre aceste componente mai mici, dacă este posibil, deoarece acest lucru îți va permite să perfecționezi fiecare abilitate specifică. În caz contrar, s-ar putea să ajungeți să vă luptați cu toate părțile mobile deodată și să nu deveniți niciodată cu adevărat priceput la fiecare dintre aceste subabilități. S-ar putea să reușiți să creați aplicație web după aplicație web, dar calitatea aplicației dvs. web ar putea să nu crească în timp, deoarece nu deveniți cu adevărat mai bun la niciuna dintre aceste abilități. (Integrarea părților mobile împreună este în sine o abilitate pe care o dobândești, dar este doar una dintre numeroasele abilități implicate). Pe de altă parte, dacă reușiți să ridicați nivelul fiecărei sub-competențe, aplicațiile web pe care le construiți ulterior folosind aceste sub-competențe perfecționate vor fi net superioare.
3. Măsurați-vă
În timp ce calitatea, în general, este dificil de măsurat, există modalități prin care vă puteți măsura nivelul de competență în codare dintr-o perspectivă cantitativă. Un exemplu este măsurarea timpului care vă ia pentru a îndeplini o sarcină. De exemplu, s-ar putea să vă ia 20 de minute pentru a rezolva un algoritm de bază în JavaScript. Puteți continua să exersați algoritmi JavaScript de bază și să vedeți dacă puteți dobândi mai multă fluență până la punctul în care vă poate lua mai puțin timp. În general, cu cât este mai fluent într-o sarcină de codare, cu atât mai puțin timp va fi nevoie pentru a îndeplini sarcina respectivă.
Un alt factor este numărul de mesaje de eroare pe care le-ați întâlnit în timpul sarcinii dumneavoastră. Dacă, în timp ce rezolvați un algoritm JavaScript, ajungeți să primiți 5 mesaje de eroare înainte de a-l rezolva corect, puteți continua să exersați și să vedeți dacă puteți rezolva algoritmi similari primind mai puține mesaje de eroare. Nu este nimic rău în a primi mesaje de eroare, bineînțeles, dar prin faptul că primiți mai puține mesaje de eroare este, în general, un semn de creștere a fluenței abilității dumneavoastră.
4. Testați noi strategii pentru fiecare secțiune
Un aspect major al practicii deliberate este că nu exersați fără să vă gândiți la o anumită abilitate. În schimb, îți notezi punctele slabe și testezi noi abordări care te pot ajuta eventual să devii mai bun. Continuând cu analogia noastră cu algoritmul JavaScript, puteți testa diferite abordări pentru a vedea dacă acestea vă ajută să rezolvați problemele mai repede sau cu mai puține mesaje de eroare. De exemplu, ce se întâmplă când folosiți în mod constant „bucle while” în loc de „bucle for..in”? Vă ajută acest lucru să descifrați codul mai repede? Sau dacă desenarea imaginilor pe o bucată de hârtie înainte de a tasta primul caracter vă ajută să rezolvați problemele mai eficient? Te ajută scrierea unui psuedocod? Abordări diferite funcționează pentru oameni diferiți – dar puteți descoperi ce abordări funcționează pentru dumneavoastră.
5. Integrați-vă învățarea în procesul general
În timp ce vă perfecționați fiecare sub-competență, întoarceți-vă și creați din nou o nouă aplicație web. Să sperăm că abilitățile dumneavoastră sporite în – să zicem, JavaScript – vă vor ajuta să scrieți acea aplicație web mai ușor, mai eficient sau cu mai multă încredere.
Concluzie
Cheia practicii deliberate este să nu practicați fără minte și să sperați că deveniți mai buni. În schimb, puteți să vă testați în mod specific nivelul de competență acum și să încercați în mod deliberat noi abordări și să vedeți îmbunătățiri concrete și măsurabile.