Разработчик из Apple раскритиковал «Чистый код 2» — много слов, мало практической пользы

news

Вышедшее в октябре второе издание «Чистого кода» вызвало бурную реакцию разработчиков.

Одна из самых жестких рецензий пришла от инженера Apple — Рафаэля Багманова. Он заявил, что книга стала «толще, но не умнее». Больше отвлеченных рассуждений, повторов и риторики, а вот практической пользы — меньше.

По его словам, обновленная версия ощущается как смесь Clean Code, Clean Coder, Clean Architecture и блог-постов Роберта Мартина, но без прежней фокусировки.

При этом сам стиль написания кода почти не изменился, а многие проблемы первого издания перекочевали в новое без правок.

«Чрезмерные мини-функции» и странные абстракции

Главная претензия Багманова — навязчивый стиль Tiny Functions: функции с одним параметром, длинные имена, множество маленьких методов, вызванных ради избежания комментариев.

Автор критики приводит пример разбора римских чисел: в книге Мартин превращает простую задачу в набор связанных методов и полей класса. Это усложняет код, а не делает его чище.

Он отдельно подчеркнул, что такой стиль легко узнаваем, но это не комплимент. В примерах «Чистого кода» создается избыточная структура, которую сложнее читать, тестировать и поддерживать.

Слабая работа с производительностью и моделированием

Рафаэль Багманов также отметил, что Мартин игнорирует ключевые аспекты разработки:

  • производительность падает из-за десятков мелких методов и постоянных аллокаций;
  • тесты замедляются из-за передачи данных через поля объекта;
  • моделирование домена уступает место механическому применению SOLID.

Особенно досталось примеру с системой аренды помещений: попытка заменить switch на полиморфизм приводит к интерфейсу, который смешивает цену, налоги и скидки в одной сущности:

			public interface CatalogItem {
    boolean isEligibleForDiscount(int days);
    int getDiscountedPrice(int days);
    int getUnitPrice();
    double getTaxRate();
    String getName();
}
		

В реальных системах так не работает — налоговые правила зависят от региона, периода и категории товара, а не от «класса предмета».

Комментарии: редкие хорошие примеры и странная позиция

Несмотря на то, что Мартин снова заявляет, что комментарии — «признак провала», книга почти не показывает хороших примеров того, как писать нужные комментарии.

Инженер Apple подчеркивает: в реальном мире комментарии — не зло, а инструмент. И хорошую мысль проще объяснить текстом, чем ломать архитектуру ради самодокументируемости.

Итог: книга стала объемнее, но не глубже

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

Для инженеров, которые ищут современные советы по дизайну, сопровождению и архитектуре, книга в 2025 году выглядит устаревшей. Но что хуже всего, вводящей новичков в заблуждение.

Источник — tproger — издание о разработке и обо всём, что с ней связано.

Comments are closed