Как да бъдем страхотни в задаването на кодиращи въпроси

Разпечатайте това и го прочетете сега. След това го публикувате на стената си. Всеки път, когато имате въпрос, прочетете това отново, докато стане второ естество.

Положението

Повечето хора са абсолютно ужасни при задаването на въпроси, но хубавото е, че можете да следвате няколко прости стъпки, за да бъдете страхотни в това.

Независимо дали сте част от екип, в StackOverFlow или студент в Watch and Code, задаването на добри въпроси е от съществено значение. Хората, които задават добри въпроси, са по-ефективни, защото получават по-добри отговори по-бързо и по-често. Те също са взети по-сериозно и получават по-голямо уважение, което е важно, ако се интересувате от кариерата си.

Добрите въпроси спестяват време. Лошите въпроси губят време. Лошите въпроси създават ненужни разговори напред-назад, които създават безсилие и конфликт. Хората, които задават лоши въпроси, се разочароват, защото не могат да получат помощ, а хората, които се опитват да помогнат да се разочароват, защото отговарянето на лоши въпроси е толкова проклето.

Лошите питащи въпроси обикновено не стигат далеч в кариерата си. Това е така, защото работата с тях е чисто безсилие. Ако сте мениджър и трябваше да уволните някого, веднага бихте се сетили за хора, които задават лоши въпроси. Единственото, което спестява повечето лоши питащи въпроси е, че всички около тях също са лоши и така в относително отношение изглеждат добре.

Процеса

1. Разберете кода възможно най-добре.

  • Да наистина, всъщност направете това. Не бързайте с тази стъпка.
  • Преминете през ред и разберете какво прави всеки ред. Водете си бележки, помислете за неща, които може да са объркващи. Оставете ги да потънат вътре.
  • Google непознати понятия. Искате да избегнете задаването на въпрос, който можете сами да решите с бързо търсене в Google.
  • Използвайте грешка, за да ви помогне. Ако не знаете как да използвате грешка или не знаете какво представлява, гледайте видеоклипа по-долу.

2. Ясно опишете проблема.

  • Обяснете контекста. Например, ако сте студент в Watch and Code, посочете URL адреса на свързания урок и обяснете какво се опитвате да направите. Ако имате въпрос относно видеоклип, посочете също и часовата марка, така че някой, който се опитва да помогне, да посочи точното място, където сте се засекли.
  • Обяснете точните стъпки, които сте предприели, за да създадете проблема. Например, щракнахте ли три бутона в определен ред? Работи ли добре в Chrome, но не и в Safari? Обяснете всяка малка стъпка.
  • Обяснете какво очаквате да видите.
  • Обяснете какво всъщност виждате. Например, ако има съобщение за грешка, споделете цялата грешка и реда на кода, който я е причинил. Ако има странен проблем с потребителския интерфейс, направете екранна снимка.

3. Въведете кода, който илюстрира проблема.

  • Ако работите по голям проект, изолирайте само частта, която е счупена и споделете това.
  • Когато споделяте код, уверете се, че кодът не се променя по времето, когато някой го гледа. Това означава, че трябва да създадете отделно копие на кода само за вашия въпрос. Ако промените кода по времето, когато някой го гледа, вашият въпрос не е само лош въпрос, той е неточен, което е по-лошо от лошо. Това е така, защото всичко може да се е променило, но няма начин човекът, който отговаря, да знае за това. Не наказвайте хората, които искат да ви помогнат.

4. Уверете се, че кодът, който споделяте, може да възпроизведе проблема.

  • Вземете кода, който споделихте, и се уверете, че се държи точно както сте описали. Ако споделите счупен код, който не репликира проблема, ще бъде невъзможно да ви помогне.

5. Трябва да предоставите работеща демонстрация на живо, освен ако не е невъзможно (вероятно не е).

  • Например, ако имате проблем в предния край, създайте демонстрация на живо на инструмент като Plunker и споделете връзката.
  • Ако демото на живо е невъзможно, обяснете защо. След това качете кода си в сайт за споделяне на код като Github и предоставете точни стъпка по стъпка указания как да стартирате кода.

6. Форматирайте кода си последователно.

  • Няма значение какъв стил използвате, просто се уверете, че сте последователни. Това прави вашия код по-лесен за четене. Той ще ви помогне и при следващата стъпка.

7. Проверете себе си за печатни грешки.

  • Никой не иска да търси вашите печатни грешки. Ако не можете да намерите собствените си печатни грешки, трябва да научите как (просто продължете да четете).
  • Например, ако сте останали на урок в урок, върнете се до момент, в който вашият код е работил, и повторете уроците от там, като се уверите, че кодът ви продължава да работи всяка стъпка по пътя. Ако стигнете до точка, в която кодът ви не работи, повторете урока и проверете два пъти за печатни грешки.
  • Ако сте на конкретен урок и кодът е предоставен, проверете предоставения код и вижте дали работи. Ако предоставеният код работи, но вашият не го прави, значи имате грешка. Сега, когато сте сигурни, че имате грешка, ваша работа е да го намерите. Върнете се методично и разберете къде сте объркали. Не губете време на някой друг и ги помолете да направят нещо, което трябва да направите сами.

8. Обяснете какво сте направили, за да отстраните проблема.

  • Представете списък с хипотези за това какъв може да е проблемът и след това ги тествайте методично. За всяка хипотеза обяснете какво направихте, за да тествате всяка хипотеза.
  • По време на този процес можете сами да разберете проблема. Това е много често.

9. Обяснете какъв според вас е проблемът.

  • Въз основа на вашите тестове в предишната стъпка, дайте най-доброто си предположение за това, което смятате, че проблемът може да бъде.

10. Прочетете въпроса си.

  • Прочетете въпроса си и се уверете, че сте предоставили всичко, на което някой ще трябва да отговори.
  • Редактиране за по-голяма яснота. Ако смятате, че нещо може да е объркващо, поправете го. Ако има печатна грешка, поправете го Ако имате грешки във вашия въпрос, хората ще приемат, че имате грешки в своя код. И както казах преди, други хора не са вашите лични ловци на печатни грешки.

11. Изпращайте актуализации и не забравяйте, че това няма да е последният ви въпрос.

  • Ако сте измислили отговора, преди някой да може да отговори, кажете на хората, за да не губят време да търсят отговор, който вече сте намерили.
  • Когато получите отговор, отделете време, за да го усвоите внимателно и напълно да разберете какво казва човекът. Имайте предвид, че всъщност може да не са прави. Затова трябва да проверите дали тяхното решение работи.
  • Благодарете на всеки човек, който ви е помогнал и не забравяйте, че не е трябвало да отговорят на въпроса ви, но по някаква причина са искали.

Ако тази статия ви е харесала, вероятно ще харесате още повече практически JavaScript. Това е основополагащ курс за сериозни начинаещи, които искат да станат професионални разработчици, и е напълно безплатен.