Читајте, тражите, (Не бојте се) питајте

„Као инжењери и као програмери, плаћени смо да будемо фрустрирани ... истовремено, увек смо у школи. Увек учимо. “- Царлос Лазос, 1. епизода ЦодеНевбие подцаста

Кодирање је путовање у двосмисленост.

Без обзира да ли дизајнирате РЕСТфул АПИ, скалирате апликацију на хиљаде корисника или само покушавате да правилно поставите нешто са ЦСС-ом, увек ће бити ствари које не знате.

Следећи пут када заглавите и не знате како да идете напред, покушајте да користите методу „Читај-тражи-питај“ Фрее Цоде Цамп-а. Као што назив говори, ви:

  1. прочитајте документацију или грешку
  2. претражите Гоогле
  3. питајте за помоћ - не плашећи се да тражите!

Заронимо дубље у сваку од ових.

читати

Ако знате да треба да користите одређену методу, али не знате како да је примените, документација је одлично место за почетак. Ако нисте сигурни који вам је метод потребан, решење често можете открити само кликом у документацији.

Ако добијате грешке, прочитајте грешку! Покушајте да схватите шта покушава да каже. Ако не добијате грешку, али заправо не знате шта се догађа, можете покушати да отклоните грешке методом цонсоле.лог ().

Када сам правио своје апликације Фрее Цоде Цамп и нисам постигао очекиване резултате, конзоли бих евидентирао резултате готово свега: иф изрази, функције враћају изјаве, методе клика и методе времена.

Један од корисних алата за ово је конзола вашег прегледача. Ако радите у ЦодеПену, он такође садржи конзолу.

Ако пратите било који одређени блог (ЦСС трикови које често консултујем за ЦСС), идите на блог и погледајте има ли чланака који ће вам помоћи у концептима са којима се борите.

Ако сте и даље заглављени, можда је време да се обратите Гоогле-у.

Претрага

Гоогле ће брзо постати ваш најбољи пријатељ, ако већ није. Али Гоогле понекад може постати онај досадни пријатељ којег морате мало намучити и продорити да бисте добили корисне одговоре. Да бисте извукли максимум из овог пријатељства, имајте на уму неколико ствари.

Једна од њих је да пуно времена - посебно када почнете да правите апликације - нећете добити тачно одговор који вам је потребан да бисте на магичан начин решили све своје проблеме. Обично ћете морати узети оно што сте научили, а затим примијенити на своју тренутну ситуацију.

Будите прецизни, будите концизни

Треба имати на уму и како структурирати претраге тако да можете ефикасно пронаћи решења за своје специфичне проблеме.

На пример, покушај замене једног карактера на одређеној позицији у низу је проблем на који наилази много нових кодера. Да бисте решили овај проблем, можете да потражите на Гооглеу бројне ствари.

„Желим да променим ствар у низу“ резултира безбројем резултата.

Добијате све, од поднизова до Р, до „10 сјајних начина да добијете више од програма Ворд'с Финд анд Реплаце“ (које сам, као резултат ове претраге, завршио са обележивачима за читање касније). Није баш оно што тражимо.

Када Гооглинг - посебно када је реч о програмским проблемима - конвенција коју многи програмери обично следе је:

[програмски језик] [глагол] [кључне речи]

Покушајмо то на нашем питању. Ако унесемо „јавасцрипт заменити знак у стрингу“, добићемо следеће.

То се чини много ближе ономе што тражимо!

У овом тренутку ћу прегледати првих неколико уноса да видим да ли ће бити корисни или не. Ако не, покушаћу да их рашчламим за додатне кључне речи које могу помоћи.

Дакле, у нашем примеру желимо само да заменимо знак на одређеној позицији, нису нам нужно потребни регуларни изрази.

Четврти резултат претраге је „Како да заменим знак у одређеном индексу у ЈаваСцрипт-у“, па бих кликнуо на то, а затим открио да су низови непроменљиви и да не можете променити само један знак!

Ако и после тога будем имао питања, могао бих да додам „на индекс“ у своју претрагу и покушам да урадим друго.

Стацк Оверфлов

Резултати преливања стака могу се састојати од пристојног дела ваше Гоогле претраге. То је фантастичан ресурс који садржи одговоре на огромну разноликост програмских питања. Особа која поставља питање обично је већ изабрала одговор који им је највише одговарао, а затим ће се тај одговор приказати на врху резултата са зеленом ознаком.

Оно што ћу готово увек учинити је да прођем кроз све одговоре који су постављени, укључујући коментаре. Они понекад воде неке занимљиве дискусије, а други пут људи отворено кажу: „ово је погрешно“ или „ово је лоша пракса“.

Једном када знам своје могућности и предности и недостатке сваке од њих, покушаћу да их применим.

(Не бојте се) Питајте

Када већ неко време тражите у круговима и нисте смислили ништа што би функционисало, можда је време да питате правог човека.

Права људска бића могу бити у свим врстама:

  • ваши пријатељи (ако имате пријатеље који кодирају)
  • групе за окупљање (ако идете на окупљања)
  • колеге кампери на Фрее Цоде Цамп Гиттер каналима и форумима
  • било које групе Слацк или Фацебоок чији сте део, између осталих

Пре него што поставите питање, покушајте да структурирате своје питање тако да оптимизира ваше време и време особе за коју тражите помоћ.

„Моја апликација је покварена, шта да радим?“ или „Не могу да активирам ову функцију, шта да радим?“ нису корисне никоме.

Разумејте проблем који имате. Објасните шта очекујете од вашег кода, а затим га упоредите са оним што заправо ради. Објасните шта сте до сада покушали и укључите исечке кода ако мислите да ће вам помоћи. (Већину времена хоће.)

Када сам први пут започео наставни план и програм, бојао сам се да постављам питања на форумима или у чет собама из два разлога:

Један се сводио на понос: осећао сам се као да бих могао да схватим зашто мој код ради то што ради. („Ја сам паметно и способно људско биће. Схватићу ово!“)

Други разлог је била несигурност. Био сам нервозан због тога што људи неће реаговати, или што нико неће желети да ми помогне, нити ће ми њихово објашњење прећи преко главе, или нисам хтео да тражим појашњења и да им одузимам још више времена, или ... [овде убаците сваки изговор икад].

Драго ми је што могу рећи да сам дефинитивно погрешио у вези са сваким изговором којег сам се могао сетити. Заједницу Фрее Цоде Цамп чине људи који су врло љубазни, упућени и стрпљиви.

Једном је неко провео неколико сати са мном док сам покушавао да истовремено разумем концепт и схватим грешку. Био је стрпљив током свега тога.

Никад ми се нико није обратио или помислио да сам глуп или неспособан. Никада нисам имао неко ко није одговорио на једно од мојих питања, ма колико то изгледало једноставно.

Шансе су да, ако неко одговара на питања на форумима или у соби за ћаскање, то посебно чини зато што жели да помогне другим људима!

Као бонус, понекад вам јасно артикулирање вашег проблема омогућава да видите шта није у реду. Било је више пута када сам поставио питање, само да бих одмах препознао шта морам даље. (Тада се захвалим особи, а она ми узвраћа: „Па, заправо нисам ништа урадила ...“)

Укратко

Метода Читај, тражи, питај подразумева оптимизацију за своје време и време оних људи који би ти помогли. Охрабрује вас да научите и сами пронађете решења проблема пре него што се обратите другима. Ако сте покушали то сами, а нисте стигли никуда - не бојте се тражити помоћ!

Корисни линкови:

Како започети када заглавиш

Мозилина ЈаваСцрипт документација

јКуери-јева документација

Увод у отклањање грешака у ЈаваСцрипт-у

Главна соба за цхат Фрее Цоде Цамп Гиттер (постоје и друге просторије са одређенијом наменом, као што је помоћ у фронт-енд пројектима или проналажење некога с ким такође могу упарити програм)

Форум бесплатног Цоде Цамп-а

Поред мрежних канала, Фрее Цоде Цамп има окупљања и Фацебоок групе у већини већих градова. Укључен сам у пар у свом граду. Преко њих сам успео да упознам људе, кодирам се са њима и пронађем људе са којима могу ићи на друга окупљања!