В моем приложении Rails я использую Rubocop
для поиска проблем. Сегодня он дал мне ошибку вроде этого: Assignment Branch Condition size for show is too high
. Вот мой код:
def show
@category = Category.friendly.find(params[:id])
@categories = Category.all
@search = @category.products.approved.order(updated_at: :desc).ransack(params[:q])
@products = @search.result.page(params[:page]).per(50)
rate
end
Что это значит и как это исправить?
ruby-on-rails
ruby
code-metrics
rubocop
THpubs
источник
источник
rubocop
формальный способ сказать «ваш метод слишком много делает».Ответы:
Размер условия перехода по назначению (ABC) - это мера размера метода. По сути, это определяется путем подсчета количества заключений A , B ранчо и C дополнительных заявлений. (более детально..)
Чтобы уменьшить оценку ABC, вы можете переместить некоторые из этих назначений в вызовы before_action:
источник
RQ,RH,RT,RW=[90,180,270,360].map { |i| i * 64 }