Аладдин Биябангерд
ТекстыJava

Как для меня выглядит хороший backend-код

Автор:Аладдин БиябангердОпубликовано:4 мин чтения

Приятно, когда код красиво выглядит. Чистые классы, понятно названные методы, аккуратная структура пакетов — всё это важно.

Но чем больше реальных систем я собираю, тем яснее, что хороший backend-код состоит не только из этого.

Код, который вы прочитаете завтра

Хороший код для меня — тот, который быстро объясняет, что он делает: завтра, когда я открою его снова, или когда его откроет другой разработчик.

  • Имя метода должно говорить, что он делает.
  • Бизнес-правило не должно быть спрятано.
  • Должно быть понятно, зачем выполняется операция с базой.
  • Исключение должно говорить больше, чем «что-то пошло не так».

И главное — код не должен скрывать поведение системы.

Не всему нужна абстракция

Чем дольше работаешь с Java, тем проще создавать абстракции.

  • Создаёшь интерфейс.
  • Создаёшь реализацию.
  • Добавляешь фабрику.
  • Добавляешь стратегию.

А потом ради простой операции приходится ходить по пяти классам.

Если абстракция выросла не из реальной потребности что-то менять, она порой просто делает код тяжелее для чтения.

Сейчас я отношусь к абстракциям осторожнее. Сначала проблема, потом паттерн. Не наоборот.

Clean code для меня — про другое

Clean code для меня — не короткие методы и не меньшее число строк. Clean code — это код, который не прячет бизнес-правило.

Например, если разработчик понимает по коду, почему бронь не удалось создать, для меня это хороший дизайн.

А если, чтобы выяснить причину неудачной операции, нужно пройти пять разных слоёв, я вижу здесь проблему — даже когда код технически выглядит «чистым».

Код пишут для изменений

Один из самых полезных уроков такой: код пишут не только для того, чтобы он работал сегодня.

  • Завтра придёт новое требование.
  • Добавится новое поле.
  • Изменится бизнес-правило.
  • Подключится другой сервис.
  • Тот же код откроет другой разработчик.

Поэтому главное свойство хорошего backend-кода для меня — он не боится изменений. Выглядеть аккуратно хорошо. Но важнее, чтобы завтра его можно было изменить.