Максимилиано Контьери, Рецепты чистого кода

Ну что, отдохнём немного от софтов и побалуемся вкусным техническим контентом? Не думали же вы, что я только софтовые книги читаю, правда?

Всякого интересного технического я читаю довольно много. Но раньше редко делился этим в блоге — всё казалось как-то не к месту. Даже отдельный канал для технички завёл. Однако недавно понял, что сам себя перемудрил. Я же технический руководитель, как-никак. Так что буду писать обо всём понемногу.

Книга Контьери попалась мне в руки случайно. В одном приятном коммьюнити есть технический книжный клуб, участница которого пожаловалась, что никак не может дочитать эту книгу и запросила совместное чтение на спор. Я вызвался помочь :)

⭐️ О чём книга

Книга посвящена тому, как делать код более чистым и поддерживаемым. В ней содержится 25 глав, каждая из которых раскрывает некоторый набор принципов разработки.

В книге затрагиваются следующие темы: ➡️ Чем плохи анемичные модели и как их сделать лучше ➡️ Как уменьшать сложность кода ➡️ Как упрощать условные операторы ➡️ Работа с техническим долгом и исключениями

⭐️ 3 идеи из книги 🟡Правило наименьшего удивления: при взаимодействии программная система должна вести себя предсказуемо для пользователя. Как разработчик, я должен создавать интуитивно понятный код, с которым другим разработчикам будет легко взаимодействовать.

🟡Использование утверждений вместо отрицаний. Частенько в коде попадаются методы/переменные/функции, которые “не-что-то”. Утвердительные названия проще читаются, поэтому такие наименования лучше менять на "что-то”.

🟡Проблема йо-йо: когда для понимания кода приходится перемещаться вверх-вниз по иерархии классов. Сейчас я с кайфом пишу на Go, который лишён этой проблемы (и полон других). Но раньше (особенно на .NET) разобраться с источником проблемы могло быть очень непростой задачей.

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

Скажу сразу честно: книга — кусок тихого ужаса. Я не знаю, пробовал ли автор на практике сам то, что написал, но выглядит это всё жутко. Штош, про плохие книги тоже нужно говорить.

Начну с того, что все примеры написаны на разных языках. Одни проблемы актуальны только для JS, другие — только для Python, третьи — ещё для чего-то. Читать это как минимум неудобно, особенно если не знаком хотя бы с азами синтаксиса.

Дальше. Книга вызывает ощущение, что сам автор никогда толком не писал код (я даже погуглил — так оно и оказалось). Идеи надёрганы из кучи разных книг и собраны в группы по смыслу. Но если посмотреть на картину целиком, то она не складывается. А если начать применять сразу все рекомендации из книги, то вам, вероятно, руки на код-ревью оторвут :)

Короче говоря, рекомендую держаться подальше от этой поделки. Лучше почитать Чистый код Мартина и Объектно-ориентированное конструирование Мейера, на которые так активно ссылается автор. Эти книги хотя бы написаны программистами, которые реально код писали.

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

➖➖➖➖➖➖➖➖➖➖➖ 📝 @ulshinblog


В этом посте были ссылки, но мы их удалили по правилам Сетки

Максимилиано Контьери, Рецепты чистого кода
Ну что, отдохнём немного от софтов и побалуемся вкусным техническим контентом? Не думали же вы, что я только софтовые книги читаю, правда?
Всякого интересно... | Сетка — социальная сеть от hh.ru Максимилиано Контьери, Рецепты чистого кода
Ну что, отдохнём немного от софтов и побалуемся вкусным техническим контентом? Не думали же вы, что я только софтовые книги читаю, правда?
Всякого интересно... | Сетка — социальная сеть от hh.ru