Я посвятила программированию 15 лет.
Мне приходилось создавать сложные системы, отлаживать тысячи строк кода и быть наставником для многих разработчиков-новичков. Я видела все — и хорошее, и плохое, и крайне неприятное.
За свою карьеру я обучила немало начинающих программистов и отредактировала большое количество кода. Тем не менее есть ошибки, которые встречаются так часто, что хочется от досады перевернуть клавиатуру.
Эта статья — не просто желание выпустить пар (хотя, поверьте, мне это необходимо). Прежде всего, это руководство для тех, кто только начинает программировать — будь то самоучка, выпускник курса или студент колледжа, стоящий на пороге мира разработки программного обеспечения.
Если вы только начинаете свой путь в программировании, считайте мою статью шпаргалкой. Избегайте этих ошибок. Они способны затормозить ваше развитие и разочаровать будущих коллег.
1. Мало практикуются
Это упущение новичков не дает мне покоя, потому что программирование — не тот навык, которым овладеваешь за одну ночь.
Программирование подобно игре на музыкальном инструменте — нельзя проснуться в один прекрасный день и вдруг начать играть на гитаре.
На моей первой работе мне поручили создать простое CRUD-приложение (CRUD — create, read, update, delete — создание, чтение, редактирование и удаление — четыре базовые функции управления данными). Мне казалось, что это легко. Прочитав множество руководств в интернете, я полагала, что разработка не составит труда.
Но я ошибалась.
Когда я приступила к написанию кода, меня настиг синдром самозванца. Я наспех проверила код, ни разу не применив его на практике. В результате проект не был выполнен в срок — потребовалось дополнительное время, чтобы завершить его. Я усвоила свой первый урок.
Программирование требует многочасовой практики, позволяющей приобрести опыт путем проб и ошибок. Тем не менее большинство новичков уверены, что напишут идеальный код, прочитав всего несколько туториалов.
Решение: практика, практика и еще раз практика.
Начните с малого — пишите базовые программы, экспериментируйте с циклами и пробуйте себя в мини-проектах. Никогда не забуду первые серии программ, выполненные мной в годы ученичества (результаты казались мне настоящим чудом!):
1. Программа «Hello, World!».
2. Серия программ, определяющих четные/нечетные (odd/even) числа.
3. Серия программ, основанных на алгоритме Фибоначчи.
4. Серия 3D-моделей Bow & Arrow.
5. Cерия простых модулей «вход-выход» (input-output ).
Этот список можно продолжать.
2. Копируют код, не разобравшись в нем
Копипастинг кода из Stack Overflow без понимания его назначения — это не программирование. Я тоже грешила этим. Поначалу чужой код работал. Но лишь несколько минут, затем программа давала сбой. Однажды руководитель моей команды попросил меня объяснить, что я написала, и мне нечего было ответить. Он пришел в ярость: «Как ты собираешься исправлять свой код, если не знаешь, как он работает?».
Это все равно что следовать рецепту, не имея представления о том, что готовишь.
Иногда блюдо может получиться вкусным и красивым, но если этого не произойдет, вы не поймете, что пошло не так.
Это все равно что списать чье-то домашнее задание по математике, не разобравшись в решении задачи.
А что будет, когда вам предложат тесты по математике?
Решение: прежде чем вставлять какой-либо код, постарайтесь понять, зачем он нужен.
Для этого поочередно разберите каждую его строку. Если назначение кода вам не понятно, не стоит его использовать в своей программе.
Можете последовать моему примеру: над каждой строкой вставленного кода пишите краткий поясняющий комментарий.
Таким образом логика кода будет закрепляться в вашем сознании.
3. Боятся отладки
Признаюсь честно: в начале карьеры отладка приводила меня в ужас.
Помню те дни, когда только осваивала навык отладки. Меня охватывала паника, когда приходил отчет о результатах анализа моей программы с красными сообщениями об ошибках, и наставник просил меня отладить и исправить ее. Мне казалось, что это провал и я не гожусь в программисты.
Но однажды я собралась с духом и подумала: я даже не посмотрела, в чем заключается ошибка. Именно тогда мне стало ясно, что боюсь не столько ошибок, сколько возможности выглядеть невеждой в глазах коллег.
Я просто нажала кнопку отладки, зашла в строки кода и посмотрела на значения переменных. Ошибка оказалась необработанным исключением во вложенном цикле. Я почувствовала себя победителем.
Со временем я поняла: отладка подобна решению головоломки — это не наказание, а часть игры.
Новички обычно замирают при виде сообщений об ошибках, воспринимая их как личные неудачи, а не как подсказки, ведущие к решению. Избегая отладки, вы упускаете возможность улучшить свои навыки.
Решение: относитесь отладке как к занимательному процессу.
Перенесемся на несколько лет назад, когда я работала над очень сложным веб-приложением. Ошибок не было, но код работал не так, как ожидалось. Тогда я увидела в этом вызов, как детектив, раскрывающий преступление. После нескольких чашек кофе, преодолевая режущую боль в глазах и пальцах, я обнаружила проблему. Ею оказалась крошечная опечатка в API.
Эта ошибка научила меня относиться с уважением к кропотливому труду, а мой менеджер оценил мою настойчивость и умение решать проблемы. До сих пор помню его слова: «Нам нужно больше таких людей, как она, которые умеют видеть в ошибках возможности, а не препятствия». Все-таки я была создана для того, чтобы стать программистом.
Начните с простых приемов, таких как вывод переменных для проверки их значений или использование отладчика для просмотра кода. Отмечайте каждую исправленную вами ошибку.
Отладка — не враг, это ваш самый ценный учитель.
4. Не разбивают задачи на мелкие части
Однажды мне поручили составлять отчеты о продажах и каждое утро отправлять их по электронной почте руководителю отдела и ведущим продавцам. Я запаниковала, как будто на меня возложили ответственность за продажи компании. Первый проект кода представлял собой сплошной хаос: я пыталась работать над всем сразу.
Старший разработчик порекомендовал мне разбить задачу на более мелкие части. Тогда я сосредоточилась прежде всего на составлении отчета о продажах и корректных цифрах. Затем перешла к загрузке отчета на дэшборд. И наконец, подключила отчет к почтовому серверу и реализовала ежедневную рассылку писем. В результате закончила работу за день до установленного срока.
Новички часто уходят с головой в работу, пишут огромный блок кода, а потом удивляются, почему ничего не работает.
Программирование достаточно сложное занятие — не стоит усложнять его, перегружая себя.
Решение: разбивайте свои задачи на мелкие части.
Например, если создаете калькулятор, начните с написания функции, которая складывает два числа.
Потом определите функцию для вычитания этих чисел. Затем переходите к умножению.
Каждая маленькая победа будет мотивировать вас, приближая к выполнению большой задачи.
5. Не делают копии своих работ
Такое случалось не раз.
Я видела, как новички переписывали свой предыдущий код. Или, что еще хуже, полностью теряли код, потому что не создавали резервной копии.
Ирония заключается в том, что многие из этих же ребят копируют код отовсюду. И все же забывают использовать данный навык, когда это действительно важно!
Я всегда в нескольких местах сохраняю свои наработки, особенно программы с интенсивной версткой, где требуется много форматирования. Иногда верстка нарушается, даже если вы изменили всего одну координату. В таких случаях можно легко вернуться к предыдущей версии, сохранив массу времени и нервов.
Потеря работы подобна ушату ледяной воды, вылитой на голову. Но эту потерю можно предотвратить на 100 %.
Решение: всегда сохраняйте копии своих работ.
Используйте системы контроля версий, такие как Git. Если же этот инструмент кажется пугающе сложным, начните с более простого.
Прежде чем вносить серьезные изменения в код, скопируйте файл и переименуйте его, указав номер версии или дату.
Поверьте, в будущем вы поблагодарите себя за это.
Вот те пять ошибок, из-за которых я выхожу из себя!
Если вы совершаете хотя бы одну из них, не переживайте. Хорошая новость заключается в том, что каждую ошибку можно исправить, если вовремя осознать ее и приложить необходимые усилия.
Читайте также:
- Практики быстрого программирования
- Как стать ценным программистом
- Как ошибка программиста может в одночасье превратить жизнь в ад
Читайте нас в Telegram, VK и Дзен
Перевод статьи Mrunal Natu: 5 Unforgiving Mistakes Beginner Programmers Make





