Принципы применения “чистого кода” для методов позволяют улучшить читаемость, сопровождение и тестируемость кода.
Вот основные правила, которые помогают создавать правильный, “чистый” код в методах:
1. Метод должен быть короткими
• Старайтесь, чтобы метод умещался на экран и был максимально лаконичен.
• Если метод становится слишком большим, разбивайте его на подметоды.
2. Метод должен выполнять одну задачу
• Каждый метод должен быть ответственным за выполнение одной задачи (принцип единственной ответственности).
• Если метод решает несколько задач, разделите его.
3. Метод должен иметь правильное имя
• Название метода должно четко отражать его цель и действия.
• Используйте глаголы для описания действий (например, calculateTotal, fetchData).
• Следите за читаемостью названий, избегая сокращений.
4. Минимум аргументов
• Идеальный метод принимает 1-2 аргумента.
• Если нужно передать больше данных, объединяйте их в объекты или структуры.
• Используйте объекты как аргументы методов для улучшения контекста.
5. Избегайте побочных эффектов
• Метод не должен изменять состояние объектов или глобальные переменные, если это не очевидно из его названия.
• Ввод и вывод (например, печать в консоль) желательно изолировать от бизнес-логики.
6. Явность возврата результата
• В большинстве случаев метод должен возвращать значение, тогда проще выполнить его тестирование.
• Если метод ничего не возвращает (void), его название должно явно указывать на это (например, saveData вместо process).
7. Обработка ошибок
• Методы должны учитывать возможные исключительные ситуации и корректно обрабатывать их.
• Используйте исключения для ошибок, но не для обычного потока выполнения.
8. DRY (Don’t Repeat Yourself)
• Избегайте дублирования кода. Если вы замечаете повторяющиеся части, выносите их в отдельные методы.
9. Уровень абстракции
• Каждый метод должен работать на одном уровне абстракции.
• Высокоуровневый метод не должен одновременно заниматься низкоуровневыми деталями.
10. Тестируемость
• Методы должны быть легко тестируемыми.
• Используйте зависимости через внедрение (dependency injection) вместо жестко закодированных значений или объектов.
11. Чистый код без комментариев
• Хорошо написанный метод должен быть самодокументируемым.
• Если приходится добавлять комментарии для объяснения работы метода, подумайте, можно ли переписать его так, чтобы комментарии стали излишними.
12. Использование гвард-клауз (Guard Clauses)
• Избегайте вложенных условий. Старайтесь использовать конструкции вида:
if (condition) return;
13. Не бойтесь удалять плохие методы
• Если метод стал неактуальным или плохо написан, лучше удалить или переписать его.
Применение этих принципов помогает создавать методы, которые легко читаются, тестируются и расширяются.
Безусловно, на ранних этапах освоения программирования еще не все термины из этой статьи могут быть вам понятны. Не волнуйтесь, по мере роста вы будете возвращаться к ней и не раз, и не два, и все смыслы постепенно раскроются.