Обзор книги "Confident Ruby"

Illustration of a person sitting on the floor, leaning against a wall while looking down at a tablet or reading device in their hands. They are wearing casual clothing with orange sneakers. Illustration of a person sitting on the floor, leaning against a wall while looking down at a tablet or reading device in their hands. They are wearing casual clothing with orange sneakers.

Confident Ruby — книга Avdi Grimm'а, известного многим рубистам по подкасту ruby rogues, скринкастам ruby tapas и предыдущим книгам — Exceptiobal Ruby и Objects on Rails. В отличии от бестолковых рассуждений про ООП в Ruby on Rails, Confident Ruby можно назвать действительно полезным и интересным произведением и одной из немногих прочитанных мною полностью книг по разработке.

'Уверенный руби' это сборник из 32 паттернов написания красивого, понятного и надежного кода. Одна из главных идей — каждый метод можно разбить на три части: получение данных, выполнение задачи и обработка исключений. В 'уверенном' коде эти три части идут одна за другой, не превращая программу в месиво. Если вы давно хотели узнать как избавиться от кучи if условий, или как правильно принимать аргументы, или как не убивать красоту кода begin блоком во весь метод, или как подружиться с duck typing — тогда эта книжка то что вам нужно.

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

Книга продается в трех изданиях, я купил Gold Label Edition, который включает в себя еще одну небольшую книжку про создание null объектов и неплохой получасовой скринкаст, в котором автор рефакторит код Discourse.

Однозначно рекомендую к прочтению каждому ruby-программисту, уверен, что советы из книги пригодятся вам так же как и мне. Avdi пишет во вступление, что одна из задач Confident Ruby — вернуть в жизнь разработчика радость от написания кода на ruby. Не скажу, что у меня уже какие-то проблемы с получением удовольствия от программирования на ruby, но после прочтения книги некоторый буст к общему уровню программерского счастья присутствует ;-)