У меня почти 5 лет опыта написания кода. Я написал плохой, ужасный, хороший и красивый код. Конечно, на первых порах мой код был не очень хорош — я писал без классов, объектов, планирования архитектуры и т. д.
Но теперь, когда я написал миллионы (или миллиарды?) строк кода, много больших проектов для десктопной и веб-разработки, изучил ООП, использовал SQL и базы данных без SQL, я знаю, как должен выглядеть хороший код. Я хочу дать вам несколько простых советов, которые сделают ваш код как минимум на один уровень выше. Всем важно создавать хороший код — это лучше и для вас, и для программистов, которые получат ваш код.
1. Напишите в едином стиле весь проект
Это очень простое правило. Когда приватные атрибуты или методы имеют префикс подчеркивания — используйте подчеркивание для каждого приватного атрибута или метода. Если вы используете camelCase, используйте его везде. Ваши переменные имеют имена во множественном числе или нет?
Когда вы определили стиль, у вас не будет проблем, если вы точно не помните, как называется переменная/метод/класс.
2. Порядок элементов в классах
Это связано с предыдущим правилом. Я придерживаюсь такого порядка на своих занятиях:
- константы
- абстрактные методы
- атрибуты
- конструктор
- геттеры и сеттеры
- другие методы
Когда я хочу быстро проверить что-то (например, абстрактные методы) из списка выше, у меня нет с этим проблем, потому что я знаю, где именно искать. Простым способом я могу проверить, существует ли конкретный метод в классе без сочетания клавиш [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 правил. Я думаю, что у каждого программиста есть свои правила. Не стесняйтесь делиться в комментариях.
Спасибо за чтение!