Привет! Начнем с ошибок, которые относятся именно к языку программирования. Потом обсудим психологические закавыки, которые даже самого мотивированного студента превращают в истощенный комочек разочарований. Звучит заманчиво? Тогда поехали!
- Ошибка 1. Работа с циклом
- Ошибка 2. Опечатки в методах
- Ошибка 3. Вызов метода
- Ошибка 4. Экспорт и импорт
- Ошибка 5. Незакрытая скобочка
Ошибка 1. Работа с циклом
Одни студенты забывают выйти из цикла, другие выбегают из него после первой же итерации. А есть я — я люблю выносить проверку за цикл и удивляться, почему лыжи не едут.
Эх, иногда мне кажется, что у раздела «Обсуждения» цель терапевтическая — почитаешь про ту же ошибку еще у пары студентов и уже не так стыдно. Но все же стыдно.
Ошибка 2. Опечатки в методах
Я говорю про тебя, проклятый length! Хотя и без него полно методов, которые я люблю коверкать. А когда методов мало, перехожу на имена переменных. Почему? Потому что нельзя просто взять и написать имя переменной, которое я буду повторять в коде без опечаток.
Ошибка 3. Вызов метода
Меня как новичка смутило, что надо писать Массив.этоМассив(массив). Звучит как тост шизофреника, да? Ну да. А потом ты проходишь объекты и не понимаешь, как писать по-другому. Ну или так мне сказали. Эх, когда наступит этот момент блаженной профессиональной деформации?
В общем, часто я неправильно вызываю методы. Могу документацию перечитать шесть раз и все равно все написать неправильно, потому что мозг прямо на ходу искажает прочитанное, чтобы оно было чуточку понятнее.
Ошибка 4. Экспорт и импорт
Я застряла в гугле на полчаса, читая жалобы студентов Хекслета на экспорт. Оказалось, что больше всего проблем с экспортом по умолчанию. И у меня были. То тренажер Хекслета кусается, то оказывается что нельзя писать export default foo();
Я использовала безымянный экспорт, потому что с ним никогда не было проблем, а потом тут же на Хекслете прочитала, что экспорт безымянных функций — это потенциальный источник проблем. Придется привыкать к другой записи!
Ошибка 5. Незакрытая скобочка
С каким жаром я могу переписать код, переделать логику! И все для того чтобы выяснить, что проблема была в какой-нибудь скобочке. Ар-р-р! Прямо сейчас у меня забытая фигурная скобка в первом проекте. Ее призрак будит меня по ночам громом цепей.
Кроме скобочек у нас есть еще точки с запятой. Да...
Человечество изобрело висящие запятые, чтобы можно было безболезненно дописывать новые параметры. Когда же мы увидим революционное решение для забытых скобочек?
Ну а теперь про тараканчиков — тех самых, что в голове и что могут задать трепку почище всяких логических ошибок. Я заметила у себя четыре дурацкие привычки, которые замедляют написание кода и учебу. Вот они:
Таракан 1. Сидеть за кодом до первой истерики
Мозг — это, конечно, мощный девайс, но батарейка у него прямо скажем слабенькая. Слабенькая и без индикатора! Сижу и мне кажется, что я стараюсь, а на самом деле я просто гоняю «разряженный» мозг по кругу.
Сейчас я взяла за правило, что если задача не решается со второго раза, я после каждой попытки ее решить иду отдыхать.
Отдых — это смена деятельности, так что видеоигры, ютубчик и прочие мозговыносилки отдыхом тут не считаются. Если хотите посмотреть на «севшие» мозги в действии, заходите в раздел Обсуждения. Студенты в красках делятся историями многодневных посиделок над задачей.
А если серьезно, то в Neuralink будет индикатор свежести мозгов? Хотя электрический разряд в конце каждого помидора тоже можно.
Таракан 2. Использовать только краткосрочную память
У вашего мозга есть долгосрочная и краткосрочная память. То, что выучили только что, отправляется в краткосрочную память — и выветривается из нее после экзамена.
Чтобы информация укрепилась, надо дать ей время уложиться, перед тем как учить новый кусок информации на ту же тему. И повторение, да. Можно конечно глотать по книге в день, но вы ничего не запомните из прочитанного.
Поэтому я часто вспоминаю пословицу «Тише едешь — дальше будешь». Дозируйте потребление контента, иначе вам придется все переучивать по два-три раза.
Если вам интересно, как работает мозг во время учебы, советую “Думай как математик” Барбары Оакли.
Таракан 3. Применять теорию урока в упражнении
На Хекслете упражнения не всегда напрямую связаны с теорией. Надо это принять и не зацикливаться на том, как же впихнуть полученную теорию в новое упражнение.
Приступайте к задаче так, как будто у нее нет контекста. Потом, если это действительно предполагалось, вы всегда сможете переделать упражнение и воплотить практики, предложенные в теории.
Таракан 4. Использовать только один вид фокуса
У фокуса есть два вида, хотя я читала и про другие. Но пока говорим только про два — про направленный фокус и рассеянный фокус.
Программисты склонны попадать под влияние направленного фокуса. Этот фокус похож на свет фонарика и выхватывает из темноты только те предметы, что находятся рядом. Это приводит к привычке использовать одни и те же решения для разных задач.
Если вы ощущали отчаяние от того, что старый алгоритм не работает на новых задачах, то вы понимаете, о чем я говорю.
В этом случае помогает работа с рассеянным фокусом. Можно перелистать конспект или освежить в памяти предыдущие уроки из курса. Можно пойти по стопам Ньютона и сесть под яблоню.
Я переключаю фокус с трудом. Попробовала вот Обсидиан, софт для конспекта с использованием ссылок (как на Википедии :)). Рассеянный фокус включается легко, достаточно перейти на вкладку диаграммы связей (mind map в простонародье).
Вот и все мои любимые грабли. Делитесь в комментариях своими, составим коллекцию!