Čitajte, tražite, (Ne bojte se) pitajte

“Kao inženjeri i kao programeri, plaćeni smo da budemo frustrirani ... istovremeno, uvijek smo u školi. Uvijek učimo. ”- Carlos Lazos, 1. epizoda CodeNewbie podcasta

Kodiranje je putovanje u dvosmislenost.

Bilo da dizajnirate RESTful API, skalirate aplikaciju tisućama korisnika ili samo pokušavate nešto pravilno postaviti s CSS-om, uvijek će biti stvari koje ne znate.

Sljedeći put kad zaglavite i ne znate kako ići naprijed, pokušajte koristiti metodu "Read-Search-Ask" Free Code Campa. Kao što naziv govori, vi:

  1. pročitajte dokumentaciju ili pogrešku
  2. pretražite Google
  3. pitajte za pomoć - a da se ne bojite tražiti!

Zaronimo dublje u svaku od njih.

Čitati

Ako znate da trebate koristiti određenu metodu, ali ne znate kako je primijeniti, dokumentacija je izvrsno mjesto za početak. Ako niste sigurni koja vam metoda treba, rješenje često možete otkriti samo klikom u dokumentaciji.

Ako primate pogreške, pročitajte pogrešku! Pokušajte shvatiti što pokušava reći. Ako ne dobivate pogrešku, ali zapravo ne znate što se događa, možete pokušati otkloniti pogreške putem metode console.log ().

Kad sam izrađivao svoje aplikacije Free Code Camp i nisam dobivao očekivane rezultate, konzoliram zapise rezultata gotovo svega: if izrazi, funkcije vraćaju izjave, metode klika i vremenske metode.

Jedan od korisnih alata za to je konzola vašeg preglednika. Ako radite u CodePenu, on također sadrži konzolu.

Ako slijedite bilo koji određeni blog (CSS trikovi koje često konzultiram za CSS), idite na blog i provjerite ima li članaka koji pomažu u konceptima s kojima se borite.

Ako ste i dalje zapeli, možda je vrijeme da se obratite Googleu.

traži

Google će brzo postati vaš najbolji prijatelj, ako već nije. No, Google ponekad može postati onaj dosadni prijatelj kojeg morate malo namučiti i poticati da biste dobili korisne odgovore. Da biste iz ovog prijateljstva izvukli maksimum, imajte na umu nekoliko stvari.

Jedna od njih je da puno vremena - pogotovo kad započnete izrađivati ​​aplikacije - nećete dobiti točno odgovor potreban za čarobno rješavanje svih svojih problema. Obično ćete morati uzeti ono što ste naučili, a zatim primijeniti na svoju trenutnu situaciju.

Budite konkretni, budite jezgroviti

Treba imati na umu i kako strukturirati pretraživanja tako da možete učinkovito pronaći rješenja za svoje specifične probleme.

Na primjer, pokušaj zamjene jednog znaka na određenom položaju u nizu problem je s kojim nailazi puno novih kodera. Da biste riješili ovaj problem, mogli biste na Googleu pregledati brojne stvari.

"Želim nešto promijeniti u nizu" rezultira bezbrojem rezultata.

Dobivate sve, od podnizova do R, do „10 sjajnih načina za postizanje više od programa Word's Find and Replace“ (što je, kao rezultat ovog pretraživanja, na kraju označilo da bih pročitao kasnije). No, ne baš ono što tražimo.

Kada Googling - pogotovo kada je riječ o programskim problemima - konvencija koju se mnogi programeri uglavnom pridržavaju je:

[programski jezik] [glagol] [ključne riječi]

Pokušajmo to na našem pitanju. Ako unesemo "javascript zamijeni znak u niz", dobit ćemo sljedeće.

To se čini puno bliže onome što tražimo!

U ovom trenutku ću kliknuti na prvih nekoliko unosa da vidim hoće li biti korisni ili ne. Ako ne, pokušat ću ih raščlaniti za dodatne ključne riječi koje mogu pomoći.

Dakle, u našem primjeru želimo samo zamijeniti znak na određenoj poziciji, ne trebaju nam nužno regularni izrazi.

Četvrti rezultat pretraživanja je "Kako mogu zamijeniti znak na određenom indeksu u JavaScript-u", pa bih kliknuo na to, a zatim otkrio da su nizovi nepromjenjivi i da ne možete promijeniti samo jedan znak!

Ako nakon toga i dalje budem imao pitanja, mogao bih dodati pretraživanju "na indeks" i pokušati napraviti još jedno.

Preljev stoga

Rezultati preljeva stoka mogu se sastojati od pristojnog dijela vašeg Google pretraživanja. To je fantastičan resurs koji sadrži odgovore na ogromnu raznolikost programskih pitanja. Osoba koja postavlja pitanje obično je već odabrala odgovor koji im je najbolje odgovarao, a zatim će se taj odgovor prikazati na vrhu rezultata sa zelenom kvačicom.

Ono što ću gotovo uvijek učiniti jest proći kroz sve odgovore koji su objavljeni, uključujući komentare. Oni ponekad vode neke zanimljive rasprave, a drugi put ljudi otvoreno govore: "ovo je pogrešno" ili "ovo je loša praksa".

Jednom kad znam svoje mogućnosti te prednosti i nedostatke svake od njih, pokušat ću ih primijeniti.

(Ne bojte se) Pitajte

Kad već neko vrijeme tražite u krugovima i niste smislili ništa što djeluje, možda je vrijeme da pitate pravog čovjeka.

Prava ljudska bića mogu biti u svim vrstama:

  • vaši prijatelji (ako imate prijatelje koji kodiraju)
  • grupe za okupljanje (ako idete na okupljanja)
  • kolege kamperi na Free Code Camp Gitter kanalima i forumima
  • bilo koje grupe Slack ili Facebook čiji ste dio, između ostalih

Prije nego što postavite pitanje, pokušajte strukturirati svoje pitanje tako da optimizira vaše vrijeme i vrijeme osobe za koju tražite pomoć.

"Moja je aplikacija pokvarena, što da radim?" ili "Ne mogu postići da ova značajka radi, što da radim?" nisu od velike pomoći nikome.

Shvatite problem koji imate. Objasnite što očekujete od koda, a zatim ga usporedite s onim što zapravo radi. Objasnite što ste dosad pokušali i uključite isječke koda ako mislite da će vam pomoći. (Većinu vremena hoće.)

Kada sam prvi put započeo nastavni plan i program, bojao sam se postavljati pitanja na forumima ili u chat sobama iz dva razloga:

Jedan se svodio na ponos: osjećao sam kao da bih trebao moći shvatiti zašto moj kod radi to što radi. ("Ja sam pametno i sposobno ljudsko biće. Shvatit ću ovo!")

Drugi razlog bila je nesigurnost. Bila sam nervozna što ljudi neće reagirati ili što mi nitko neće htjeti pomoći, niti će mi njihovo objašnjenje preći preko glave, ili nisam htio tražiti pojašnjenje i oduzimati im još više vremena, ili ... [ovdje ubacite svaki izgovor ikad].

Drago mi je reći da sam sasvim sigurno pogriješio u vezi sa svakom isprikom koje sam se mogao sjetiti. Zajednicu Free Code Camp-a čine ljudi koji su vrlo ljubazni, upućeni i strpljivi.

Jednom je netko proveo nekoliko sati sa mnom dok sam pokušavao istovremeno razumjeti koncept i shvatiti grešku. Tijekom svega je bio strpljiv.

Nikad mi se nije netko obratio ili pomislio da sam glup ili nesposoban. Nikad nisam imao nekoga tko ne bi odgovorio na jedno od mojih pitanja, koliko god se to činilo jednostavno.

Šanse su da, ako netko odgovara na pitanja na forumima ili u chat sobi, to posebno čini jer želi pomoći drugima!

Kao bonus, ponekad vam jasno artikuliranje vašeg problema omogućuje da vidite što nije u redu. Bilo je više puta kada sam postavio pitanje, samo da bih odmah prepoznao što trebam učiniti sljedeće. (Tada se zahvalim osobi, a ona mi uzvraća: "Pa, zapravo nisam ništa učinila ...")

U sažetku

Metoda Čitaj, traži, pitaj je svrha optimizacije za svoje vrijeme i vrijeme onih ljudi koji bi ti pomogli. Ohrabruje vas da naučite i sami pronađete rješenja problema prije savjetovanja s drugima. Ako ste to pokušali sami, a niste nigdje stigli - nemojte se bojati tražiti pomoć!

Korisne poveznice:

Kako započeti kad zaglaviš

Mozirina JavaScript dokumentacija

jQueryjeva dokumentacija

Uvod u ispravljanje pogrešaka JavaScript

Glavna chat soba Free Code Camp Gitter (postoje i druge prostorije s određenijom svrhom, poput dobivanja pomoći s front-end projektima ili pronalaženja nekoga s kime se također može upariti)

Forum besplatnog Code Camp-a

Uz mrežne kanale, Free Code Camp ima okupljanja i Facebook grupe u većini većih gradova. Uključen sam u par u svom gradu. Kroz njih sam uspio upoznati ljude, kodirati se s njima i pronaći ljude s kojima bih mogao ići na druga okupljanja!