5 принципов хорошего кода для начинающих программистов
В этой статье собраны основные принципы хорошего кода, которые помогут начинающим разработчикам избежать банальных ошибок.
Читабельный код лучше, чем умный код
Если вы не можете понять свой код спустя полгода, возможно, ваш стиль написания далек от читабельного, и стоит задуматься о том, чтобы его изменить. Рассмотрим два варианта одной и той же функции:
function a(b,c) { return b+c; } function sum(firstNumber, secondNumber) { return firstNumber + secondNumber; }
Если посмотреть на имя первой функции и список ее аргументов, то:
1) сразу не понятно, что делает функция
2) нет ни малейшего намёка на то, что она делает.
Тогда как имя второй функции сразу же говорит нам о её предназначении.
И если этот пример был до смешного прост, то вы можете себе представить эти же проблемы в более значительных масштабах.
Чем меньше кода, тем лучше
Единственной загвоздкой здесь может быть только тот факт, что этот пункт противоречит предыдущему.
Если в вашем коде много строк, это еще не значит, что он хорош. Цель написания программы - решить какую-то задачу, а не написать как можно больше текста. Чем меньше кода вам приходится писать для решения конкретной задачи, тем лучше. А также обычно чем меньше кода, тем легче с ним работать.
Лень здесь может стать вашим другом.
Для написания хорошего кода вам нужно общение
Чаще всего люди не умеют читать мысли. Вам нужна помощь? Задайте вопросы коллегам. У вас есть крутая идея? Поделитесь ей с другими. Нашли ошибку в проекте? Обязательно о ней расскажите, даже она не очень серьёзная. Неисправленный вовремя баг позднее может привести к гораздо более серьёзным последствиям.
И всё это полностью применимо не только к командам, которые работают в одном офисе, но и к случаям удалённой работы. Я работал в командах, где проект полностью создавался удалённо, и при этом люди прекрасно общались между собой. Мы регулярно обсуждали детали в течение дня, и это очень помогало в ходе работы.
Электронная почта, мессенджеры, sms, телефонные звонки, Slack, Google Hangouts и так далее. Форма общения не имеет большого значения (хотя обсуждение отдельных вопросов лучше подходит для определенных типов связи), главное, чтобы члены команды не теряли связь.
Также я работал в командах, все члены которых находились в одном здании, но при этом общение в этих командах практически отсутствовало. Конечно, неизбежно возникали вопросы о том, что нужно сделать, кто что делает, и в каком порядке. Недостаток общения в команде - это одно и самых больших препятствий в разработке достойного продукта. Коммуникация необходима.
Читайте код других людей
Это может быть не так просто, особенно поначалу, но это необходимо для написания хорошего кода, поэтому вы не должны сдаваться.
Одним из преимуществ чтения чужого кода является то, что вы видите стили и техники других программистов. Код разных людей также различен. К любым стилям и техникам всегда можно найти аргументы, как в пользу, так и против.
Изучая чужой код, вы сможете найти для себя некоторые вещи, которые помогут вам писать лучший код. Возможно, это будут какие-то новые паттерны проектирования, функции выбранного вами языка программирования или то, как работает какая-то часть API. Всё это может помочь вам создавать собственные идеи и улучшать свои существующие навыки.
Просите о помощи
Если вы застряли и нуждаетесь в помощи с конкретной проблемой в коде, спросите кого-нибудь! Google отлично справляется с общими задачами, но когда вы имеете дело с определённой проблемой, вам может понадобиться еще одна пара глаз или кто-то, с кем можно это обсудить. Вы будете удивлены, как часто это помогает.
А что касается других вопросов, обратитесь к тем, кто предлагает помочь или ответить. Лично я всегда с радостью обучаю людей и отвечаю на их вопросы. И знаю много других разработчиков, которые тоже никогда не откажут в помощи новичкам.
Количество людей, которые готовы помогать другим, поражает. Более того, это люди с разным опытом и набором навыков, поэтому никогда не бойтесь задавать вопросы тем, чьей работой вы восхищаетесь.