Перейти к содержанию

Введение в чистый код и принципы проектирования программного обеспечения

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

Поначалу написание чистого кода может показаться накладными расходами. Но это позволяет нам быстро поддерживать и разрабатывать часть программного обеспечения в долгосрочной перспективе. Эта серия статей, опирается на идеи, обсуждаемые в книге "Чистый код". Чистый код - это библия хороших методов кодирования, написанная Робертом К. Мартином (дядя Боб).

Почему вы должны писать чистый код?

Мы, разработчики, пишем код, понятный компьютеру. В то же время наш код не останется прежним по мере обновления бизнес-логики или добавления новых функций. Наш код также может обновляться другими разработчиками. Следовательно, мы должны писать код таким образом, чтобы другие разработчики также могли его прочитать и понять.

Как написать чистый код?

Мы можем писать чистый код, следуя набору рекомендаций, известных как принципы проектирования программного обеспечения. Принципы проектирования программного обеспечения - это набор рекомендаций, проверенных на практике годами.

Вот несколько общих рекомендаций по написанию чистого кода:

  • Дайте значимые имена переменным, функциям, классам и другим объектам в коде.
  • Создавайте небольшие функции, выполняющие одну задачу.
  • Инкапсулируйте связанные данные и функции в небольшие независимые классы.
  • Структурируйте код для лучшей читаемости. Объединяйте связанный код и уменьшайте размер строк.
  • Улучшите читаемость с помощью надлежащих комментариев.
  • Пишите удобочитаемые, быстрые, независимые и повторяемые тесты.
  • Старайтесь не использовать рекурсивные функции с множеством условий, они усложняют тестирование кода.

Я перечислил некоторые из наиболее популярных и полезных принципов проектирования. Вы должны стараться применять их в своем коде с каждой итерацией.

  • Избегайте повторений кода (DRY).
  • Сохраняйте простоту кода (KISS).
  • Скрыть детали реализации (абстракция).
  • Поддерживайте расширяемость кода.
  • Сохраняйте модульность кода с минимальным перекрытием (разделение задач).
  • Каждый модуль должен выполнять только одно действие (закон Керли).
  • Избегайте ненужных функциональных возможностей (YAGNI) и предварительной оптимизации (корень всего зла).
  • Будьте последовательны и избегайте неожиданностей в коде (принцип наименьшего удивления).
  • Сделайте код лучше того, каким вы его нашли (правило бойскаута).

Существует еще много руководств / принципов. Мы обсудим наиболее популярные принципы в следующих разделах / статьях.

Набор принципов, известных как принципы проектирования SOLID, был выведен из различных принципов проектирования. Принципы проектирования SOLID следующие:

  • Принцип единой ответственности: "У класса никогда не должно быть более одной причины для изменения". Другими словами, у каждого класса должна быть только одна ответственность.
  • Принцип "Открыто–закрыто": "Программные объекты ... должны быть открыты для расширения, но закрыты для модификации".
  • Принцип подстановки Лискова: "Функции, которые используют указатели или ссылки на базовые классы, должны иметь возможность использовать объекты производных классов, не зная об этом".
  • Принцип разделения интерфейсов: "Множество интерфейсов, специфичных для клиента, лучше, чем один интерфейс общего назначения".
  • Принцип инверсии зависимостей: "Полагайтесь на абстракции, [не] конкретизации".

Узнайте больше о принципах SOLID в следующих статьях.

Как сделать код более чистым, рефакторинг кода

Рефакторинг кода

Список литературы: Чистый код: руководство по разработке гибкого программного обеспечения Роберта К. Мартина (дяди Боба)