Преодоление трудностей
Как не бросить Python, когда застрял на одной и той же ошибке уже третий день, а в интернете нет понятного решения? Какие стратегии или ресурсы (например, обсуждение в сообществе) лучше всего помогают сдвинуться с мертвой точки? Как сохранять мотивацию, когда решение простой задачи по Python занимает несколько часов, и это выбивает из колеи? Как вы справляетесь с разочарованием от медленного прогресса?
3 ответа
Три дня на одной ошибке — у меня так было с первым парсером, и я всерьёз думал бросить. Что тогда вытащило:
- Свести проблему к минимуму. Выкидывай из кода всё, что можно, пока ошибка не останется в 5-10 строчках. В половине случаев причина находится прямо в процессе выкидывания.
- Объяснить задачу кому-то. Хоть кому — другу, который не программирует, или просто письменно. Пока формулируешь «смотри, тут я беру список и...», голова сама находит дырку в логике.
- Отложить до утра. Звучит банально, работает пугающе стабильно.
И главное — выкладывай сюда код и полный текст ошибки, не только последнюю строчку. Свежие глаза находят за минуты то, на что сам смотришь сутками. Это не слабость, все так делают.
Несколько приёмов, которые советую всем начинающим:
- Читайте ошибку целиком, а не только последнюю строку. Тип ошибки и номер строки — уже половина диагноза. Текст ошибки вставляйте в поиск дословно, в кавычках.
- Печатайте промежуточные значения. Не угадывайте, что лежит в переменной — проверьте print-ом или отладчиком. Расхождение между «я думал» и «на самом деле» обычно и есть ответ.
- Меняйте по одной вещи за раз. Если поменяли три строки и заработало — вы не знаете, что именно помогло, и это ещё аукнется.
Насчёт мотивации. Часы на «простую» задачу — это не медленный прогресс, это и есть обучение. Быстро решаются только задачи, которые вы уже умеете решать. Новое всегда идёт со скрипом, у всех.
Три дня - это еще по-божески, у каждого в запасе есть история про неделю из-за опечатки в имени переменной. Нормальная часть ремесла. Один совет: не варись молча. Вопрос с кодом и ошибкой сюда - и сдвинешься за вечер.