Вторая часть разбора “Чистого кода” Роберта Мартина. Сегодня на повестке глава "Объекты и структуры данных".
Рассказываю, зачем Мартин предлагает интерфейс ради интерфейса, и почему абстракции, поданные как “чистое решение”, на практике могут только усложнять архитектуру. Показываю, где он подменяет реальные проблемы искусственными, и почему подход “всё спрятать” часто ведёт к оверинжинирингу.
Главный акцент — не на интерфейсах, а на мутабельности и побочных эффектах.
Обсуждаем, как именно они влияют на undo, конкурентность, тестируемость и общее поведение системы.
Если вы всё ещё уверены, что “чистый код” — это универсальная истина, скорее всего, этот разбор сильно скорректирует взгляд на архитектуру.
Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239179
Telegram-канал Организованного Программирования: https://t.me/orgprog
Хекслет Клуб в Telegram https://t.me/HexletClubBot
Курсы по программированию — начни учиться уже сегодня: https://ru.hexlet.io/courses
(00:00) - — Введение. Почему "Чистый код" может быть опасен?
(00:52) - — Интерфейс точки от Мартина: невинный пример или ловушка?
(01:43) - — Личное мнение: почему меня бомбит от этого подхода
(04:00) - — Погружаемся: старт разбора самой спорной главы
(07:34) - — Интерфейсы, которые только кажутся полезными
(12:08) - — Как язык программирования влияет на архитектуру
(16:53) - — Интерфейсы ≠ архитектура: ловушка поверхностного подхода
(18:37) - — Главный враг читаемого кода — побочные эффекты
(22:11) - — Фича "откат" как тест на зрелость архитектуры
(24:02) - — Неизменяемые объекты: фундамент стабильного кода
(28:03) - — Как устроены настоящие проекты (и почему в них нет магии)
(31:52) - — Что делают библиотеки: мутабельность запрещена!
(34:48) - — Как пример Мартина сбивает с толку
(40:30) - — Где скрывается настоящая сложность при работе с данными
(44:32) - — Что отличает объекты от структур
(47:16) - — Библиотеки vs прикладной код: разные миры
(50:56) - — Есть ли жизнь без наследования? (да, и она проще)
(56:49) - — Java как зеркало архитектурных иллюзий
(59:26) - — Интерфейсы против здравого смысла: разбор с примерами
(01:04:30) - — Вложенные вызовы: проблема или симптом?
(01:06:50) - — Истинная боль проектирования — не там, где вы думаете
(01:08:48) - — Объекты передачи данных DTO
(01:10:38) - — Value Object против сущности: в чём разница
(01:14:28) - — Введение в DTO
(01:16:12) - — Типизация фронта через DTO: боль или кайф?
(01:20:52) - — Был ли 2008-й тёмным веком архитектуры?
(01:24:43) - — Заключение: почему важно думать самому
★ Support this podcast ★