Как учиться дальше
Как выйти из tutorial hell с помощью самостоятельной декомпозиции, отладочных экспериментов и чтения документации.
Что называют tutorial hell
Так иногда называют состояние, в котором человек уверенно повторяет пошаговые уроки, но не может начать собственную задачу без готовой последовательности действий. Это не диагноз и не повод стыдиться. Обычно не хватает перехода от узнавания к самостоятельному решению задач, декомпозиции и отладке.
Цикл самостоятельного обучения
Диагностический протокол
- Запишите ожидаемый и фактический результат.
- Сведите проблему к минимальному воспроизводимому примеру.
- Прочитайте тип исключения и последнюю релевантную строку traceback.
- Проверьте входы, типы, состояние и предположения на границе дефекта.
- Сформулируйте одну гипотезу и измените одну переменную.
- После исправления добавьте тест, который падал бы до него.
- Запишите причину, а не только финальную строку кода.
Четыре режима документации
| Режим | Вопрос читателя | Как использовать |
|---|---|---|
| Tutorial | Как впервые пройти путь вместе с автором? | Для знакомства; затем повторить часть без инструкции. |
| How-to | Как решить конкретную практическую задачу? | Когда цель уже ясна и нужен рабочий рецепт. |
| Reference | Как точно устроен этот API? | Проверять сигнатуру, параметры, исключения и версионные детали. |
| Explanation | Почему система устроена так? | Строить модель, сравнивать концепции и понимать компромиссы. |
Официальная документация часто разделяет эти режимы. Заметный пример — документация Django: в ней есть отдельные tutorial, topics guides (explanation), how-to guides и reference, и сама схема Diátaxis выросла из опыта переработки именно этой документации. Не пытайтесь читать reference подряд как учебник. Начните с tutorial или explanation, а reference держите рядом во время реализации. Проверяйте версию документации и минимальный пример локально.
От документации к реализации
Начните с официальной документации нужной версии. Tutorial помогает впервые пройти связный путь, explanation строит модель, how-to решает конкретную задачу, а reference фиксирует точный контракт API. Если поведение остаётся неясным, прочитайте исходный код соответствующего участка и связанные тесты. Затем проверьте issue tracker: там могут быть подтверждённые ограничения, исправления и решения сопровождающих проекта. Исходный код и Issues дополняют документацию, но не отменяют публичный контракт и примечания к релизу.
Использование поиска и помощников
Формулируйте запрос через наблюдаемый симптом, версию, минимальный код и уже выполненные проверки. Считайте полученный ответ гипотезой: сопоставьте его с официальным API, выполните тест и объясните каждую строку. Не вставляйте секреты, закрытый код или пользовательские данные в внешнюю систему без разрешения.
Еженедельная ретроспектива
- Что я могу написать и объяснить без образца?
- Какую ошибку я научился диагностировать?
- Какое решение подтвердил тест или измерение?
- Какой следующий пробел ограничивает проект?