gpt4 book ai didi

ruby - 如何重构 Ruby 中的长行

转载 作者:太空宇宙 更新时间:2023-11-03 17:29:50 26 4
gpt4 key购买 nike

我得到了这段代码,它提高了行长度限制,超过了 Rubocop 违规行为:

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

超过线长,因此解决方案对我来说不可行。

所以我作为初学者的问题是我应该如何考虑重构这种情况?

最佳答案

简单地将 if 语句分成多行怎么样?

if current_user.pending_organisation_id
return organisation_path(current_user.pending_organisation_id)
end

关于ruby - 如何重构 Ruby 中的长行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44699313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com