Во время прохождения уроков и выполнения упражнений могут возникнуть трудности. В таких случаях важно правильно задать вопрос — это поможет быстрее получить точный и полезный ответ.
Если вы учитесь на тарифе с поддержкой наставника — обращайтесь к нему напрямую. Если такой поддержки нет, присоединяйтесь к Telegram-сообществу Хекслета. Там каждый день общаются студенты, наставники и менторы. Обсуждения идут в тематических чатах (Python, Java, PHP, Go и другие), так что вы легко найдёте нужный канал и получите помощь от тех, кто сталкивался с похожей задачей.
У начинающих часто возникает представление, что опытный программист способен с одного взгляда на код или краткое описание сразу понять суть проблемы. Если бы это было так, чтобы помогать студентам, нам пришлось бы:
Но мы так не можем 🙂
Из-за недостатка информации в плохо сформулированном вопросе приходится тратить больше времени на его понимание, а обсуждение затягивается для выяснения деталей. Поэтому рекомендуем следовать простому, но важному принципу:
Для получения быстрого и качественного ответа, вопрос должен быть правильно сформулирован и содержать максимум необходимой для решения информации.
В этой статье мы покажем примеры неправильных вопросов, реакцию специалиста на них, опишем логику рассуждений и подскажем, как задавать вопросы правильно.
Вопрос студента: У меня не работает вот этот код: десятки строк кода.
Реакция специалиста: Откуда этот код — из упражнения, теории или собственного проекта? Где он запускался — на Хекслете или локально? Что значит «не работает» — не запускается, выдаёт ошибку или неправильный результат?
Даже опытный разработчик не может выполнить код «в голове». Без пояснений и описания шагов такой вопрос затрудняет помощь.
Решение: Если проблема с упражнением, сохраните решение в Хекслете — это лучший способ показать и код, и вывод тестов. Если код не из Хекслета — воспользуйтесь одним из сервисов:
Pastebin — для фрагментов кода и ошибок;
CodeSandbox и CodePen — для фронтенда;
Replit — для бэкенда и CLI-проектов.
Правильный вопрос: Решил задачу в практике, но код проходит только два из трёх тестов. Добавил отладочные выводы — вижу, что на шаге 3 данные не меняются, как ожидалось. Помогите разобраться.
— ссылка на сохранённое решение или сервис с кодом
Вопрос студента: Выполняю второй пункт самостоятельного задания про работу с файловой системой. Всё работает, но вместо результата работы возвращается ошибка, что нет прав.
Реакция специалиста: Всё работает или не всё? Каких прав нет: на чтение или запись файлов? Почему нет текста ошибки?
Собственная интерпретация ошибки студентом вносит ещё больше путаницы. Это похоже на консультацию у врача по телефону. Информация о том, что у пациента болит нога, ничем не поможет врачу, пока не будут сделаны снимки и анализы. Так же и в программировании: пока нет кода и результатов его работы, диагностировать неисправность по одному лишь описанию очень сложно. Если студент опишет свои действия и их результат, то будет проще понять истинную причину ошибки.
Как правильно задать вопрос: Выполняю команду ./bin/run
из второго шага самостоятельного задания и получаю ошибку bash: ./bin/run: Permission denied
. Подскажите, что это значит и как исправить?
Вопрос студента: Запустил последний пример из теории у себя на компьютере, но он возвращает ошибку. (Прикреплен скриншот текста ошибки и кода).
Реакция специалиста: Какая у вас операционная система? Какая версия интерпретатора? Как именно вы запускали код?
Даже с кодом и ошибкой невозможно учесть все особенности локальной настройки. Причины могут быть в ОС, версиях ПО, даже в BIOS или железе.
Как правильно задать вопрос: Запустил код из теории на своём ПК (VS Code, Ubuntu 18.10, версия языка: 3). Запускал через терминал.
Код и лог ошибки выложил на GitHub: ссылка
Если вопрос касается настройки окружения, лучше задать его в Telegram-сообществе — возможно, другие участники уже сталкивались с подобной ситуацией.
Вопрос студента: У меня не работает код, скажите, в чём ошибка. Код: ссылка, ошибка: ссылка.
Реакция специалиста: Пытался ли студент решить вопрос самостоятельно? Дебажил ли он код? Он не хочет разбираться или действительно не разобрался?
В Хекслете важно не только выполнить задания, но и научиться находить и решать проблемы самостоятельно. В реальной работе поддержки может не быть, и разобраться придётся самому.
Посмотрите это видео про отладку, где рассказывается, почему это важный инструмент для каждого программиста: https://www.youtube.com/watch?v=9iwYRcw3A8A
Как правильно задать вопрос: На некоторых тестах код прерывает выполнение. Я добавил отладочную печать и увидел, что цикл выполняется несколько раз и потом прерывается, но не понимаю почему. Подскажите, где может быть ошибка: ссылка на сохраненное решение