Объекты и структуры данных. Разбор книги "Чистый Код" Роберта Мартина #2
Вторая часть разбора “Чистого кода” Роберта Мартина. Сегодня на повестке глава "Объекты и структуры данных".
Рассказываю, зачем Мартин предлагает интерфейс ради интерфейса, и почему абстракции, поданные как “чистое решение”, на практике могут только усложнять архитектуру. Показываю, где он подменяет реальные проблемы искусственными, и почему подход “всё спрятать” часто ведёт к оверинжинирингу.
Главный акцент — не на интерфейсах, а на мутабельности и побочных эффектах.
Обсуждаем, как именно они влияют на 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
Рассказываю, зачем Мартин предлагает интерфейс ради интерфейса, и почему абстракции, поданные как “чистое решение”, на практике могут только усложнять архитектуру. Показываю, где он подменяет реальные проблемы искусственными, и почему подход “всё спрятать” часто ведёт к оверинжинирингу.
Главный акцент — не на интерфейсах, а на мутабельности и побочных эффектах.
Обсуждаем, как именно они влияют на 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) - — Заключение: почему важно думать самому
