我得到了這片被提高線路長度受限碼超過Rubocop進攻:如何重構排着長隊在Ruby中
return organisation_path(current_user.organisation) if current_user.organisation
return session[:previous_url] if session[:previous_url]
return organisation_path(current_user.pending_organisation_id) if current_user.pending_organisation_id
root_path
末
極限超過倒數第二行。我試圖重構這條線來解決Rubocop的攻擊。
我第一次嘗試是像這樣分割:
return organisation_path(current_user.pending_organisation_id) if
current_user.pending_organisation_id
但它看起來並不可讀。
我的第二次嘗試分解出這條線的方法,所以我創造了這個方法:
def pending_organization_path_for_current_user
return organisation_path(current_user.pending_organisation_id) if current_user.pending_organisation_id
end
但同樣的方法名稱太長,因此線
pending_organization_path_for_current_user if current_user.pending_organisation_id
超過線長,因此解決方案對我來說是不可行的。
所以我作爲一個初學者的問題是我該如何考慮重構這種情況?
什麼簡單BRE將if語句分爲多行? – Severin
Rubocop會產生Guard Clause進攻。 – Lokesh