К основному содержимому
все выпуски
Code of Leadership · выпуск 21

A Philosophy of Software Design: глубокие модули прячут сложность

1:11:41

Участники выпуска

Содержание

Что обсудили голосом

Григорий Скобелев руководит платформой в мексиканском финтехе и ведёт подкаст «Между скобок». Вместе с ведущим он разбирает первую половину «A Philosophy of Software Design» Джона Оустерхаута — профессора Стэнфорда и одного из создателей Raft. Короткая книга даёт практичные советы опытному инженеру.

Главный противник дизайна — сложность. Она проявляется в усилении изменений, когнитивной нагрузке и неизвестных зависимостях. Слепое устранение дублирования, лишние абстракции и тактическое программирование увеличивают будущую стоимость. Стратегический подход вкладывается в понятность и явно управляет техническим долгом.

Ключевой образ — глубокий модуль с простым интерфейсом и большой скрытой функциональностью. Мелкие модули, общая база и протекающие абстракции заставляют знать детали реализации. Information hiding, общие core-модули и отдельные адаптеры помогают локализовать знание и уменьшить связи.

Обобщение не самоцель: стоит искать минимальный интерфейс, проверять число сценариев и не строить тяжёлый API ради одной миграции. Опасны pass-through классы, которые лишь переадресуют вызов. Выпуск заканчивается после семи глав; вторую половину книги оставляют для продолжения.

Engineering managementПродуктСтратегияЛидерство