Блог Слёрм

80% времени разработчики не пишут новый код, а пытаются понять старый

По результатам исследований, основная работа программиста — это чтение и анализ существующего кода. Да, такова реальность: навигация по проекту отнимает львиную долю времени.

Давайте на примере.

Есть задача: «Добавить в профиль пользователя поле "ИНН" и проверять его по внешней системе при регистрации».

  • В плохо спроектированной системе:

Разработчик начинает квест. Модель пользователя описана в пяти разных местах. Логика регистрации размазана между контроллёром, несколькими сервисными классами и парой загадочных «хелперов». Чтобы понять, куда вставить вызов к внешней системе, нужно прочитать сотни строк кода, боясь что-то сломать. Задача, которая звучит на час, растягивается на целый день поисков и отладки.

  • В хорошо спроектированной системе:

Разработчик видит четкую структуру. Есть модуль UserManagement. Внутри него — понятная модель User, агрегат Registration и сервис ExternalValidator. Он точно знает, что модель нужно поменять в одном месте, а логику валидации добавить в соответствующий сервис. Все зависимости очевидны. Он тратит 15 минут на понимание и 45 минут на реализацию.

  • Что мы видим в итоге:

На практике важнее всего — снизить когнитивную нагрузку на команду. Хорошая архитектура работает как правильно организованный город с понятными указателями. Плохая — как лабиринт без карты. Понятность важнее гениальности!

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

Познакомиться с программой и занять место на курсе — по ссылке.
Архитектура