- PVSM.RU - https://www.pvsm.ru -

Ruby Science: руководство по созданию качественных приложений на Ruby on Rails от thoughtbot

thoughtbot [1] (с маленькой буквы) — одна из ведущих американских консалтинговых фирм, ориентированных на веб разработку с помощью Ruby on Rails. thoughtbot эксплуатирует распространенную в этой среде бизнес-модель, и зарабатывает не только за счет консалтинга, но и за счет своих больших вкладов в Open Source [2], активного участия в жизни сообщества (например, подкаст Giant Robots Smashing into Other Giant Robots [3]), образовательной деятельности (воркшопы [4], менторство [5]), внутренних продуктов и литературы [4].

На их счету до сегодняшнего дня числилось две полноценных книги: The Playbook [6] — исчерпывающий справочник по внутреннему распорядку и трудовым хитростям thoughtbot (бесплатна для изучения на их сайте), и Backbone.js on Rails [7] — не менее исчерпывающее руководство по использованию JS фреймворка Backbone вместе с Ruby on Rails.

Интересна особенность их подхода к публикации книг. Это не статичный труд, написанный однажды, напечатанный на бумаге и устаревающий с годами, а продукт, поддерживающий версионность, развивающийся под влиянием читателей и сопровождающийся различными электронными плюшками, в том числе и готовым к использованию кодом примеров. «Исходники» книги хранятся на github, а это значит, что в любой момент читатель имеет возможность получить самый свежий релиз, сообщить о проблеме, обсудить какую-либо часть текста и т.п.

Сегодня они объявили [8] о начале работы над новой книгой, под названием «Ruby Science. The reference for writing fantastic Rails applications». Более того, начать чтение книги и принять участие в её развитии можно уже сейчас.
Ruby Science: руководство по созданию качественных приложений на Ruby on Rails от thoughtbot [9]

Люди приходят к Ruby on Rails в поисках фреймворка, который позволит делать по-настоящему быстрые, интересные и поддерживаемые приложения. Но с течением времени любой проект обрастает толстым слоями самого разнообразного кода, который становится все сложнее, дороже и болезненнее поддерживать.

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

Заявленное на данный момент содержание представляет собой очень, очень сочную подборку разнообразных best practices, способных сильно помочь Вам и Вашей команде. Звездочкой помечены ненаписанные главы. Короткое превью книги можно найти здесь [10].

Содержание

Introduction

Code Smells

  • Long Method
  • Large Class
  • Feature Envy*
  • Case Statement
  • High Fan-out*
  • Shotgun Surgery
  • Divergent Change*
  • Long Parameter List
  • Duplicated Code
  • Uncommunicative Name*
  • Parallel Inheritance Hierarchies*
  • Comments*
  • Mixin*
  • Callback*
Solutions

  • Replace Conditional with Polymorphism
  • Replace conditional with Null Object
  • Extract method
  • Extract Class*
  • Extract Value Object*
  • Extract Decorator*
  • Extract Partial
  • Extract Service Object*
  • Introduce Observer*
  • Introduce Parameter Object
  • Use class as Factory*
  • Move method*
  • Inline class*
  • Inject dependencies*
  • Replace mixin with composition*
  • Use convention over configuration*
  • Introduce Visitor*
Principles

  • DRY*
  • Single responsibility principle*
  • Tell, Don't Ask*
  • Law of Demeter*
  • Composition over inheritance*
  • Open closed principle*
  • Dependency inversion principle*

Любовь thoughtbot к исследованию и документированию собственного рабочего процесса уже очень давно оказывает на меня влияние, и началось это с использования пары их гемов и прочтения Backbone.js on Rails. Они умеют предоставлять сухую выжимку из своей ежедневной работы, позволяя читателю не наступать на различные болезненные грабли. Поэтому я и не смог пройти мимо этого анонса просто так. Настоятельно рекомендую всем рубистам следить за этим чтивом, да и вообще за деятельностью thoughtbot. К слову, до конца января на книгу будет висеть скидка 20%.

Автор: shebanoff

Источник [11]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ruby/22571

Ссылки в тексте:

[1] thoughtbot: http://thoughtbot.com

[2] больших вкладов в Open Source: http://www.thoughtbot.com/community

[3] подкаст Giant Robots Smashing into Other Giant Robots: http://thoughtbot.com/podcast

[4] воркшопы: https://learn.thoughtbot.com/products/

[5] менторство: http://apprentice.io

[6] The Playbook: https://learn.thoughtbot.com/products/3-the-playbook

[7] Backbone.js on Rails: https://learn.thoughtbot.com/products/1-backbone-js-on-rails

[8] объявили: https://twitter.com/thoughtbot/status/279260723870326784

[9] Image: http://rubyscience.com

[10] здесь: https://learn.thoughtbot.com/ruby-science-sample.pdf

[11] Источник: http://habrahabr.ru/post/162547/