Чтобы писать красивый исходный код, лучше всего писать в соответствии со стандартами кодирования. В Ruby есть несколько инструментов, способных выполнять статический анализ исходного кода. И мы считаем, что RuboCop - самый известный.

RuboCop анализирует проект Ruby с помощью команды rubocop. В нем также рассматриваются проекты, созданные с помощью Ruby on Rails, а также указываются проблемы, характерные для Rails.

Установка RuboCop

Если вы используете bundler в проекте Rails, введите следующее в Gemfile. И поскольку Rubocop следует использовать только в среде разработки, он будет использоваться только в таких средах.

group ‘development’ do
 gem ‘rubocop’, require: false
end

Введите его, и установка начнется.

$ bundle

На этом приготовления заканчиваются. Конечно, вы также можете установить его вручную.

$ gem install rubocop

Попытка RuboCop в проекте Rails

По сути, он просто выполняет команду rubocop, но для выполнения специфичной для Rails проверки мы добавляем параметр -R.

$ rubocop -R

Например, будет обнаружена следующая ошибка.

app/models/link.rb:135:21: C: Use find_by instead of where.first.
 image = Image.where(:url => url).first
app/models/link.rb:157:22: C: Use if self.body.present? instead of unless self.body.blank?.
 return self.body unless self.body.blank?

Следуя этим сообщениям, вы сможете написать более идеальный код для приложения Rails.

Кроме того, он также обнаружит вещи, которые необходимо изменить с дальнейшими обновлениями версии для Rails.

app/controllers/sites_controller.rb:2:3: C: Prefer before_action over before_filter.
 before_filter :authenticate_user!

Используя RuboCop, вы не только сможете выполнить обзор кода как Ruby, но также узнаете о конкретных точках улучшения Rails. Контент, который должен использовать text.present? а не text.blank? вполне может быть стандартом кодирования для команды разработчиков. Автоматизируя такие общие точки с помощью RuboCop, вы сможете уменьшить нагрузку и проблемы, связанные с проверкой кода.

Кроме того, SideCI поддерживает автоматический обзор кода для проекта Rails с помощью RuboCop. Если вас интересует только среда разработки, вы можете просто установить RuboCop. Однако если вы хотите создать культуру, в которой все группы разработчиков пытаются писать аккуратный код с помощью автоматической проверки кода, мы советуем использовать облачную среду. Мы также предлагаем пробные версии. Попробуйте!

Еще статьи о RuboCop