Введение в чистый код и принципы проектирования программного обеспечения
Код является чистым, когда он легко читаем и другими разработчиками, помимо автора оригинала.
Поначалу написание чистого кода может показаться накладными расходами. Но это позволяет нам быстро поддерживать и разрабатывать часть программного обеспечения в долгосрочной перспективе. Эта серия статей, опирается на идеи, обсуждаемые в книге "Чистый код". Чистый код - это библия хороших методов кодирования, написанная Робертом К. Мартином (дядя Боб).
Почему вы должны писать чистый код?
Мы, разработчики, пишем код, понятный компьютеру. В то же время наш код не останется прежним по мере обновления бизнес-логики или добавления новых функций. Наш код также может обновляться другими разработчиками. Следовательно, мы должны писать код таким образом, чтобы другие разработчики также могли его прочитать и понять.
Как написать чистый код?
Мы можем писать чистый код, следуя набору рекомендаций, известных как принципы проектирования программного обеспечения. Принципы проектирования программного обеспечения - это набор рекомендаций, проверенных на практике годами.
Вот несколько общих рекомендаций по написанию чистого кода:
- Дайте значимые имена переменным, функциям, классам и другим объектам в коде.
- Создавайте небольшие функции, выполняющие одну задачу.
- Инкапсулируйте связанные данные и функции в небольшие независимые классы.
- Структурируйте код для лучшей читаемости. Объединяйте связанный код и уменьшайте размер строк.
- Улучшите читаемость с помощью надлежащих комментариев.
- Пишите удобочитаемые, быстрые, независимые и повторяемые тесты.
- Старайтесь не использовать рекурсивные функции с множеством условий, они усложняют тестирование кода.
Я перечислил некоторые из наиболее популярных и полезных принципов проектирования. Вы должны стараться применять их в своем коде с каждой итерацией.
- Избегайте повторений кода (DRY).
- Сохраняйте простоту кода (KISS).
- Скрыть детали реализации (абстракция).
- Поддерживайте расширяемость кода.
- Сохраняйте модульность кода с минимальным перекрытием (разделение задач).
- Каждый модуль должен выполнять только одно действие (закон Керли).
- Избегайте ненужных функциональных возможностей (YAGNI) и предварительной оптимизации (корень всего зла).
- Будьте последовательны и избегайте неожиданностей в коде (принцип наименьшего удивления).
- Сделайте код лучше того, каким вы его нашли (правило бойскаута).
Существует еще много руководств / принципов. Мы обсудим наиболее популярные принципы в следующих разделах / статьях.
Набор принципов, известных как принципы проектирования SOLID, был выведен из различных принципов проектирования. Принципы проектирования SOLID следующие:
- Принцип единой ответственности: "У класса никогда не должно быть более одной причины для изменения". Другими словами, у каждого класса должна быть только одна ответственность.
- Принцип "Открыто–закрыто": "Программные объекты ... должны быть открыты для расширения, но закрыты для модификации".
- Принцип подстановки Лискова: "Функции, которые используют указатели или ссылки на базовые классы, должны иметь возможность использовать объекты производных классов, не зная об этом".
- Принцип разделения интерфейсов: "Множество интерфейсов, специфичных для клиента, лучше, чем один интерфейс общего назначения".
- Принцип инверсии зависимостей: "Полагайтесь на абстракции, [не] конкретизации".
Узнайте больше о принципах SOLID в следующих статьях.
Как сделать код более чистым, рефакторинг кода
Список литературы: Чистый код: руководство по разработке гибкого программного обеспечения Роберта К. Мартина (дяди Боба)