Начинающие специалисты и просто IT-энтузиасты часто сталкиваются с ошибками на своём пути. Касается это не только непосредственно кодинга, в процессе которого на выявление багов тратится несколько часов, но и этапа подготовки к программированию. Но будем честны, написать хороший, качественный, правильный код с первого раза в принципе невозможно. Да это и не нужно. Лучший способ научиться делать что-то хорошо – набить кучу шишек и сделать это много раз плохо (стараясь делать хорошо, разумеется).
Уменьшить количество шишек и ослабить их болезненность вполне реально. Мы собрали некоторые распространённые ошибки, на которые следует обратить внимание новичкам в программировании. Возможно, если вы их учтёте, это сделает ваш путь в IT чуть более приятным.
1. Всё или ничего
За несколькими языками погонишься, ни один не осилишь. Слышали такую поговорку? Некоторые специалисты могут рекомендовать изучение нескольких языков одновременно, но чаще всего такая попытка заканчивается разочарованием.
Существует множество концепций, которые отличают один язык программирования от другого. Например, C — это процедурный язык низкого уровня, который включает в себя «;», Python, с другой стороны, представляет собой интерпретируемый объектно-ориентированный язык высокого уровня, использующий отступы.
Помимо различий в их ориентации, они также различаются по синтаксису. Если вы будете учитывать эти различия и одновременно пытаться учиться, это может сбить вас с толку и значительно замедлить процесс обучения.
Лучший подход — выучить свой первый язык и улучшить его навыки. А если первый язык ещё и будет одним из низкоуровневых, то вы значительно облегчите себе задачу. Как только вы наберётесь опыта, переход на другой язык не будет проблемой. Если же возьмётесь за всё сразу, то вполне вероятно, что вы не заговорите свободно ни на одном языке.
2. Нечистый код? И так сойдёт!
Когда вы впервые начинаете писать код, главная цель — заставить его работать и получить желаемый результат. Но код должен быть не только работающим, но и качественным.
Качественным код делают правильное форматирование и использование осмысленных имён переменных. Важное место занимают комментарии, которые помогают понять настроченное при повторном чтении.
Кроме того, в будущем вам, возможно, придётся работать над совместным проектом, который может включать в себя просмотр и отладку чужого кода. Представьте, как сложно было бы попытаться понять логику другого человека, имея дело с беспорядочно написанным кодом. Страшно? Понимаем. Поэтому позаботьтесь о себе и своём ближнем и сделайте свой код легко читаемым, простым для понимания и легко изменяемым при необходимости.
«Любой дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям». — Мартин Фаулер
3. Тактики не было, мы её не придерживались
Получив задачу, многие начинающие программисты сразу начинают стучать пальчиками по клавиатуре, совершенно не продумав архитектуру, алгоритмы, технологии, которые необходимо использовать.
Это приводит к появлению очередного «плохого» (заменяйте на то, что нравится) кода и многократному переписыванию.
Начните продумывать алгоритм без контекста языка программирования. Есть такое понятие как псевдокод — это конструкции, очень похожие на язык программирования, но не привязанные к какому-то конкретному языку. Они помогают составить алгоритм решения задачи и перенести его в код. В начале вашего пути это может быть особенно полезно.
4. Код-однодневка
В программировании существует золотое правило: если вам приходится повторять код несколько раз, наверняка существует лучший способ его написать. Эффективное кодирование предполагает написание кода многократного использования, ведь тогда вам не придётся тратить время на одно и то же.
Вы можете посмотреть на свой код и подумать, что всё, что вы сделали, — это разовая ситуация, и ничего из этого больше не понадобится. Но поверьте, понадобится. Разбейте код на мелкие части и посмотрите, что из этого вам наверняка понадобится в будущем. Это может быть самая мелочь, занимающая всего пару строк, но со временем эти мелочи складываются и экономят кучу времени.
Два простых способа обеспечить возможность повторного использования написанного вами кода:
- Не используйте жёстко закодированные переменные (только если они не являются константами).
- Пишите общие функции вместо узкоспециализированных.
5. Не сохранил, значит не было
Вы потратили месяцы на работу над проектом, но не сохранили код? Да вы сорвиголова! Но лучше так не делать.
Резервное копирование кода является важным элементом процесса разработки, поскольку обеспечивает сохранность исходного кода в случае непредвиденных сбоев или потери данных. Такая практика не только снижает риск потери ценных данных, но также помогает отслеживать историю изменений, обеспечивая возможность отката к предыдущим версиям в случае необходимости.
Чтобы своевременно сохранять всю свою работу, используйте систему контроля версий (SVN или Git), Github или Dropbox.
7. Что первично: теория или практика?
Нет смысла читать тысячи строк кода, если кодить вы так и не начали. Поначалу вам может показаться, что вы понимаете всё, что читаете. Однако как только вы начнёте программировать, вы поймёте, как ошибались.
Будет сложно написать цикл, потому что вы пропустите точку с запятой, фигурные скобки, но всё, что вам нужно сделать, это запачкать руки нечистым кодом, попрактиковаться в нём, поймать несколько ошибок и отладить их.
Программирование в большей степени осваивается опытным путём, поэтому лучше всего сразу тренировать навыки на какой-нибудь практической задаче – пет-проекте. Если хотите разрабатывать игры, необязательно с первых строк кода ставить амбициозные цели и делать условного «Ведьмака 3». Начните со «Змейки» или «Тетриса»!
Идею для проекта можно взять и из жизни. Давно хотели освоить финансовую грамотность? Создайте своё персональное приложение, которое поможет вам управлять тратами и планировать бюджет. Набейте шишек на этом проекте, но усвойте то, что пригодится в будущем.