У меня почти 5 лет опыта написания кода. Я написал плохой, ужасный, хороший и красивый код. Конечно, на первых порах мой код был не очень хорош — я писал без классов, объектов, планирования архитектуры и т. д.

Но теперь, когда я написал миллионы (или миллиарды?) строк кода, много больших проектов для десктопной и веб-разработки, изучил ООП, использовал SQL и базы данных без SQL, я знаю, как должен выглядеть хороший код. Я хочу дать вам несколько простых советов, которые сделают ваш код как минимум на один уровень выше. Всем важно создавать хороший код — это лучше и для вас, и для программистов, которые получат ваш код.

1. Напишите в едином стиле весь проект

Это очень простое правило. Когда приватные атрибуты или методы имеют префикс подчеркивания — используйте подчеркивание для каждого приватного атрибута или метода. Если вы используете camelCase, используйте его везде. Ваши переменные имеют имена во множественном числе или нет?

Когда вы определили стиль, у вас не будет проблем, если вы точно не помните, как называется переменная/метод/класс.

2. Порядок элементов в классах

Это связано с предыдущим правилом. Я придерживаюсь такого порядка на своих занятиях:

  1. константы
  2. абстрактные методы
  3. атрибуты
  4. конструктор
  5. геттеры и сеттеры
  6. другие методы

Когда я хочу быстро проверить что-то (например, абстрактные методы) из списка выше, у меня нет с этим проблем, потому что я знаю, где именно искать. Простым способом я могу проверить, существует ли конкретный метод в классе без сочетания клавиш [Ctrl] + [F].

3. В вашем методе должно быть всего несколько строк кода

Когда ваш метод содержит всего 4–5 строк, вы можете легко понять, что делает этот метод. Более того, метод должен делать только одно: войти в систему, отправить электронное письмо, записать что-то в файл, получить строки из базы данных и т. д.

Когда ваш метод слишком длинный, возможно, он выполняет более одной функции. Значит, надо разделить.

4. Есть только два типа методов

Это типы команды и запроса.

Методы команд что-то делают с данными (обновляют, вставляют, удаляют). Этот тип методов изменяет состояние объекта.

Методы запросов о чем-то спрашивают и не изменяют состояние объекта. Такие методы просто извлекают данные или что-то проверяют и возвращают логическое значение.

Если ваш метод может быть назван как команда и метод запроса, вы должны реорганизовать его.

5. Избегайте «глубокого» кода

Представьте себе код, в котором много операторов if и циклов. Некоторая часть кода очень глубокая, и вы должны прокручивать свою IDE по горизонтали. Почти всегда вы можете изменить свой код, чтобы он содержал менее глубокие строки.

Например это:

function a() {
    if (condition) {
        ... part A ...
    } else {
        ... part B ...
    }
}

можно заменить это

function a() {
    if (condition) {
        ... part A ...
        return;
    }
    ... part B ...
}

Его проще читать и понимать. В будущем я напишу целую статью с дополнительными советами по сокращению кода.

6. Используйте ООП везде

ООП — это просто набор шаблонов для разработчиков, как писать код. Эти шаблоны решают множество проблем и протестированы многими разработчиками. Так что это безопасно для использования. Конечно, есть плохие паттерны, называемые антипаттернами. Вы никогда не должны использовать анти-шаблоны.

Даже если вы лучший в мире специалист по объектному программированию, вы должны знать популярные шаблоны. Представьте, что вы написали одинаковым образом части кода во многих проектах. Многие программисты думают так же, как и вы, поэтому и решают эту задачу точно так же. В мире без ООП, когда вы хотите рассказать, как вы его написали, вы должны сказать: «Я написал этот код таким образом… Я сделал классы… Я написал методы… Это ссылки здесь и здесь…». Много слов и предложений. К счастью, мы живем в мире ООП, поэтому вы можете просто сказать: «Я использовал фабричный шаблон», и все знают, как вы это написали.

Вот мои 6 правил. Я думаю, что у каждого программиста есть свои правила. Не стесняйтесь делиться в комментариях.

Спасибо за чтение!