Читайте, шукайте (не бійтеся) запитуйте

“Як інженери та розробники, нам платять за розчарування ... водночас ми завжди в школі. Ми завжди вчимось ». - Карлос Лазос, епізод 1 подкасту CodeNewbie

Кодування - це подорож у двозначність.

Незалежно від того, розробляєте ви RESTful API, масштабуєте програму для тисяч користувачів чи просто намагаєтеся щось правильно розташувати за допомогою CSS, завжди знайдуться речі, про які ви не знаєте.

Наступного разу, коли ви застрягнете і не знаєте, як рухатися вперед, спробуйте скористатися методом Free Code Camp «Читати-Шукати-Запитувати». Як випливає з назви назви, ви:

  1. прочитати документацію або помилку
  2. шукати в Google
  3. просити допомоги - не боячись просити!

Давайте зануримось глибше в кожен із них.

Читайте

Якщо ви знаєте, що вам потрібно використовувати певний метод, але не знаєте, як його впровадити, документація - чудове місце для початку. Якщо ви не впевнені, який метод вам потрібен, ви часто можете знайти рішення, просто натиснувши в документації.

Якщо ви отримуєте помилки, прочитайте помилку! Спробуйте зрозуміти, що він намагається сказати. Якщо ви не отримуєте помилку, але насправді не знаєте, що відбувається, спробуйте налагодити за допомогою методу console.log ().

Коли я розробляв свої програми Free Code Camp і не отримував очікуваних результатів, я консолірував журнали результатів майже всього: якщо оператори, оператори повертають оператори, методи натискання та методи синхронізації.

Корисним інструментом для цього є консоль вашого браузера. Якщо ви працюєте в CodePen, він також містить консоль.

Якщо ви стежите за якимись конкретними блогами (CSS Tricks - це той, до якого я часто звертаюся до CSS), перейдіть до цього блогу та перевірте, чи є в ньому статті, які допоможуть з поняттями, з якими ви боретесь.

Якщо ви все ще застрягли, можливо, пора звернутися до Google.

Пошук

Google швидко стане вашим найкращим другом, якщо це ще не зроблено. Але Google іноді може стати тим надокучливим другом, якого вам доводиться трохи тикати і підштовхувати, щоб отримати корисні відповіді. Щоб отримати максимум користі від цієї дружби, потрібно пам’ятати кілька речей.

Одне з них полягає в тому, що багато часу - особливо коли ви починаєте розробляти додатки - ви не отримаєте саме тієї відповіді, яка вам потрібна для магічного вирішення всіх ваших проблем. Зазвичай вам доведеться взяти те, що ви дізналися, а потім застосувати це до вашої поточної ситуації.

Будьте конкретні, будьте короткі

Ще одне, про що слід пам’ятати, - це як структурувати свої пошукові запити так, щоб ви могли ефективно знаходити рішення своїх конкретних проблем.

Наприклад, спроба замінити один символ у певній позиції в рядку - це проблема, з якою стикається багато нових кодерів. Щоб вирішити цю проблему, ви можете погуглити багато речей.

«Я хочу змінити щось у рядку» - це безліч результатів.

Ви отримуєте все, від підрядків до R, до «10 цікавих способів отримати більше від Word Знайти та замінити» (які, в результаті цього пошуку, я в кінцевому підсумку став закладкою для читання пізніше). Однак не зовсім те, що ми шукаємо.

Під час гуглювання - особливо, коли мова йде про проблеми з програмуванням - домовленість, якої, як правило, дотримуються багато програмістів, така:

[мова програмування] [дієслово] [ключові слова]

Давайте спробуємо це у нашому питанні. Якщо ми введемо “javascript замінити символ у рядку”, ми отримаємо наступне.

Це здається набагато ближчим до того, що ми шукаємо!

На цьому етапі я перегляну кілька перших записів, щоб побачити, чи будуть вони корисними чи ні. Якщо ні, я спробую проаналізувати їх для додаткових ключових слів, які можуть допомогти.

Отже, у нашому прикладі ми просто хочемо замінити символ у певній позиції, нам не обов’язково потрібні регулярні вирази.

Четвертий результат пошуку - «Як я можу замінити символ у певному індексі в JavaScript», тому я натиснув на нього, а потім виявив, що рядки незмінні, і що ви не можете змінити лише один символ!

Якщо після цього у мене все ще виникають запитання, я можу додати до пошуку «в індексі» та спробувати зробити ще одне.

Переповнення стеку

Результати переповнення стека можуть містити пристойну частину вашого пошуку в Google. Це фантастичний ресурс, який містить відповіді на величезну кількість програмних питань. Зазвичай запитувач вже обрав відповідь, яка найкраще їм підходила, і тоді ця відповідь з’явиться у верхній частині результатів із зеленою позначкою.

Проте я майже завжди буду переглядати всі опубліковані відповіді, включаючи коментарі. Вони іноді проводять цікаві дискусії, а інколи люди прямо кажуть: "це неправильно" або "це погана практика".

Як тільки я дізнаюся про свої варіанти та плюси та мінуси кожного, я спробую їх застосувати.

(Не бійтеся) Запитайте

Коли ви якийсь час шукали в колах і не придумали нічого, що працює, можливо, пора запитати справжню людину.

Справжні людські істоти можуть бути у всіх видах:

  • ваші друзі (якщо у вас є друзі, які кодують)
  • групи зустрічей (якщо ви ходите на зустрічі)
  • колеги-кемпери на каналах та форумах Free Code Camp Gitter
  • будь-які групи Slack або Facebook, серед яких ви можете бути частиною

Перш ніж задавати запитання, спробуйте структурувати своє запитання так, щоб оптимізувати його як для вашого часу, так і для часу того, кого ви просите про допомогу.

"Мій додаток зламаний, що мені робити?" або "Я не можу змусити цю функцію працювати, що мені робити?" нікому не дуже корисні.

Зрозумійте проблему, з якою ви стикаєтесь. Поясніть, що ви очікуєте від вашого коду, а потім порівняйте його з тим, що він насправді робить. Поясніть, що ви пробували дотепер, і включіть фрагменти коду, якщо вважаєте, що вони допоможуть. (Здебільшого вони будуть.)

Коли я вперше розпочав навчальну програму, я боявся задавати питання на форумах або в чатах з двох причин:

Один зводився до гордості: я відчував , що я повинен бути в змозі зрозуміти, чому мій код робить те , що він робить. ("Я розумна і здібна людина. Я розберуся з цим!")

Другою причиною була невпевненість. Я нервував, що люди не відреагують, або що ніхто не захоче мені допомогти, або що їх пояснення пройде над моєю головою, або я не хочу просити пояснень і займати ще більше часу з їхнього дня, або ... [вставити будь-яке виправдання, яке коли-небудь було тут].

Я радий сказати, що я, безумовно, помилявся щодо кожного приводу, який міг придумати. Спільнота Free Code Camp складається з людей дуже доброзичливих, обізнаних та терплячих.

Одного разу хтось провів пару годин зі мною, поки я намагався одночасно зрозуміти концепцію та з’ясувати помилку. Він терпів все це.

У мене ніколи не було, щоб хтось говорив зі мною або думав, що я німий чи недієздатний. Я ніколи не мав, щоб хтось не відповідав на одне з моїх запитань, яким би простим це не здавалося.

Швидше за все, якщо хтось відповідає на запитання на форумах або в чаті, вони спеціально роблять це, тому що хочуть допомогти іншим людям!

Як бонус, іноді чітке формулювання того, у чому ваша проблема, дозволяє побачити, що не так. Неодноразово я задавав питання, щоб одразу визнати, що мені потрібно було робити далі. (Потім я дякую людині, і вони відповідають: "Ну, я насправді нічого не робив ...")

Коротко

Метод читання, пошуку, запитання полягає в оптимізації власного часу та часу тих людей, які допомогли б вам. Це заохочує вас вчитися та знаходити рішення проблем самостійно, перш ніж консультуватися з іншими. Якщо ви спробували зробити це самостійно і нікуди не дійшли, не бійтеся просити про допомогу!

Корисні Посилання:

Як почати, коли ви застрягли

Документація Mozilla щодо JavaScript

Документація jQuery

Вступ до налагодження JavaScript

Основна кімната для спілкування Free Code Camp Gitter (є й інші кімнати з більш конкретними цілями, наприклад, отримання допомоги в інтерфейсних проектах або пошук когось, з ким можна поєднати програму)

Форум безкоштовного кодексу

Окрім онлайн-каналів, Free Code Camp має зустрічі та групи у Facebook у більшості великих міст. Я займаюся парою у своєму місті. Завдяки їм я мав можливість зустрічатися з людьми, кодувати з ними та знаходити людей, з якими можна їхати на інші зустрічі!