W mojej aplikacji Rails używam Rubocop
do sprawdzania problemów. Dziś dał mi błąd jak poniżej: Assignment Branch Condition size for show is too high
. Oto mój kod:
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
Co to oznacza i jak mogę to naprawić?
ruby-on-rails
ruby
code-metrics
rubocop
THpubs
źródło
źródło
rubocop
formalny sposób powiedzenia „Twoja metoda robi za dużo”.Odpowiedzi:
Rozmiar warunku gałęzi przypisania (ABC) jest miarą rozmiaru metody. Zasadniczo jest określona przez policzenie liczby A ssignments, B rancza i C warunkowy instrukcji. (więcej szczegółów..)
Aby zmniejszyć wynik ABC, możesz przenieść niektóre z tych zadań do wywołań przed zadziałaniem:
źródło