我从rubocop得到ABC错误的错误,我如何才能删除它


def result_p3(high, low)
arr_ind = []
((1..31).each { |n| arr_ind << n })
(0..30).each do |i|
puts " #{arr_ind[i]}" + " #{'+' * high[i].to_i} ".red + "#{high[i].to_i}C "
puts " #{arr_ind[i]}" + " #{'+' * low[i].to_i} ".blue + "#{low[i].to_i}C "
end
end

RuboCop非常清楚问题是什么:你的方法太大了。您可以:

  1. 重构你的代码,使其符合你团队的编码标准,这是推荐的方法;
  2. 更新你的todo文件,这样你就不会看到错误,直到你准备好修复它;或
  3. 为这个方法禁用cop,如果你不明白为什么RuboCop告诉你你的代码不理想,你绝对不应该这样做。

RuboCop是一个过滤器和样式指南。它并不总是正确的,但在这种情况下是正确的。你的方法需要重构,所以要么这样做,要么推迟修复它,但一定要把它当作代码气味来对待。

arr_ind是冗余的,其中包含1 ~ 31的数字。对于任意值的x,arr_ind[x] == x + 1。而不是#{arr_ind[i]},你可以只用#{i + 1}。当然,删除所有与arr_ind相关的内容。

最新更新