TGViewer
Никита Ульшин про IT Никита Ульшин про IT @ulshinblog · 3.2K subscribers
Post #834 1.2K
«Чистый дизайн. Практика эмпирического проектирования ПО», Кент Бек

Несмотря на то, что с кодом я в последнее время работаю откровенно мало (больше в контейнерах ковыряюсь), я всё равно остаюсь инженером. А это означает любовь к разным технологиям, языкам программирования, хорошему коду и тому подобным вещам.

«Хороший» код — вообще штука очень неоднозначная. Есть некоторые общепринятые правила и нормы, а дальше начинается система уровня «Легенды и мифы Древней Греции» — каждый верит в свой пантеон убеждений.

Мне всегда доставляло удовольствие эти убеждения изучать и разбирать: в IT работают умные люди, у которых много умных идей, и зачастую убеждения человека на чем-то основаны (кроме «Чистой архитектуры» — это прям вольные фантазии теоретика ПО). С целью разбора таких подходов я и взял почитать книжку Кента Бека — ветерана разработки ПО, приложившего руку к ряду важных вещей в индустрии.

⭐️ О чем книга

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

В книге раскрываются следующие темы:
➡️ 15 «маленьких пушистых» рефакторингов по улучшению кода.
➡️ Как выбрать подходящий момент для очистки кода.
➡️ Взгляд на очистку кода через призму финансов и ценности для бизнеса.

⭐️ 3 идеи из книги

🟡Очистка помогает перенести в код понимание, полученное с трудом. Больше всего времени в разработке занимает не написание кода, а его чтение. В процессе чтения мы накапливаем понимание, поэтому будет весьма выгодно потратить немного времени, чтобы зафиксировать свой труд — перенести это понимание в листинги проекта.

🟡Иногда для проведения хорошей очистки нужно сначала свалить всё в кучу. Есть такой антипаттерн — дробление кода на излишне мелкие части (это еще Мартин в «Чистом коде» пропагандировал, кстати). Так вот, иногда подобные осколки кода нормально порефакторить просто невозможно, потому что понимание в голове не складывается. В таком случае можно просто заново собрать их в одну кучу, понять и переделать нормально.

🟡Программистам платят не только за реализацию текущего поведения, но и за те возможности, которые открываются дальше. Вспомните свою работу: фичи едут «паровозиком», одна за другой, опираясь на предыдущие реализации. Так вот, программный дизайн дает возможность проще и быстрее менять поведение системы в будущем, что ускоряет поставку новых фич.

⭐️ Мои впечатления

Эта книжка (я бы ее скорее методичкой назвал) — маленький, но крайне интересный концентрат взглядов Кента Бека на программный дизайн. При этом автор явно лишен перфекционизма и смотрит на мир шире: например, он аргументированно показывает, что вкладываться в защиту от багов может быть невыгодно с точки зрения как разработки, так и бизнеса.

Несмотря на небольшой объем, книга дает много классных рекомендаций, которые можно применить на практике. Но основной посыл заключается в том, что очистка кода и поддержание его в порядке — это постоянный процесс. Если с рефакторингами обычно всё сложно (впихнуть техдолг между фичами — всегда нетривиальная задача), то очистку можно и нужно делать постоянно.

Считаю эту небольшую книжечку обязательной к прочтению всем инженерам. Затрат мало, профита много.

Все мои обзоры книг доступны по тегу #обзор_книги и в этом посте.

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

➖➖➖➖➖➖➖➖➖➖➖
📝 @ulshinblog
💬 Бэкап канала в Max
  • 🔥 9
  • 👍 5
  • ❤ 4
  • ⚡ 1
  • 💯 1
More from @ulshinblog
  1. Sep 21, 2026Почему не все интересные идеи влияют на жизнь Я люблю читать книги. В детстве меня поглоща…
  2. Sep 19, 2026Итоги курса «Руководитель отдела» Вот и подошли к концу 4 месяца интенсивного обучения на…
  3. Sep 18, 2026«Не знаю» больше не значит «не могу» С развитием LLM-ок фраза «я не знаю» перестала означа…
  4. Sep 17, 2026Из находки ИИ-радаров вырос лонгрид для Хабра В понедельник оба моих ИИ-радара зацепились…
  5. Sep 16, 2026Два ИИ-радара для наблюдения за IT-индустрией Не следить за IT-индустрией я не могу, потом…
  6. Sep 15, 2026Тимлиды, вы ещё думаете идти ли на наш митап? 👀 В карточках собрали программу, чтобы у ва…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →