Отучившись на Хекслете чуть больше месяца, я наделал кучу ошибок, написал немало очень странных строк кода, но и дошел до некоторых довольно полезных вещей. Глядя на задания, над которыми я мучился пару недель назад, мне немного смешно и немного стыдно, как этого можно было не понимать, и почему я решил это так странно.
Сейчас я так же мучаюсь уже над другими задачками, и надеюсь через некоторое время так же буду недоумевать, как я мог этого не понимать. Это хорошо, когда так происходит, это - прогресс.
Сейчас я хочу рассказать о некоторых простых идеях, до которых я хотел бы додуматься пораньше, и о некоторых элементарных ошибках, которые многие начинающие (и я в том числе) тем не менее допускают.
Итак, полезная идея номер один - помогать другим студентам. Это очень полезно в первую очередь для самого помогающего. Хекслет устроен таким образом, что нельзя просмотреть ревью кода по темам, которые у вас еще не изучены, таким образом спойлеров можно не бояться. А выискивая ошибки в коде других людей по уже изученным темам, я во-первых повторяю пройденный материал, во-вторых тренируюсь читать чужой код, в-третьих вижу разные способы решить одну и ту же задачу и учусь смотреть на вещи под разными углами, в-четвертых имею возможность учится на чужих ошибках (когда несколько раз увидел в чужом коде одну и ту-же ошибку, в своём её увидишь быстрее), и в-пятых помогаю людям, зарабатываю плюсы в карму)) И получить все эти преимущества совсем не сложно, каждый раз с одной и той же проблемой разбираться получается все быстрее и быстрее.
Итак, если кто ещё не заглядывал в раздел "Вопросы и ответы", крайне рекомендую.
Полезная идея номер два — это научится вовремя отвлекаться. Изучать программировние увлекательно. Несколько раз я просто умирал на работе, потому что пол ночи просидел за задачей и на сон осталось два или три часа. Но глаз замыливается, мозг забивается, и если вовремя не переключить внимание, эффективность неизбежно падает. Так вот, изучение программирования требует обладания множеством смежных навыков: математика (алгоритмы), английский, линукс, СУБД, — список можно продолжать долго. И когда на очередном задании нападает затуп, лично мне очень помогает на день или два отложить курс программирования и заняться одной из смежных областей знания. Вернувшись, как правило обнаруживаешь, что решение довольно очевидно, и скорость обучения возвращается к изначальному уровню.
Ну и напоследок хочу изложить несколько ошибок, которые я неоднократно видел как у себя, так и у других:
В общем, пока это все, что могу вспомнить слету, если кому пригодится, буду рад, если будет что еще сказать, напишу ещё. Всем успехов в обучении и поменьше глупых ошибок.