gpt4 book ai didi

ruby-on-rails - 什么是Rails Way? (可读性与干燥性)

转载 作者:行者123 更新时间:2023-12-04 04:18:46 24 4
gpt4 key购买 nike

我有一个用户模型,其中有投票方法。我想编写用于投票的代理方法。

这是可读的方式:

def vote_up item
return false unless can? :vote, item
vote item, :up
end

def vote_down item
return false unless can? :vote, item
vote item, :down
end

这是DRY的方式:
%w(up down).each do |vtype|
define_method "vote_#{vtype}" do |item|
return false unless can? :vote, item
vote item, vtype.to_sym
end
end

哪一个更好,为什么?

最佳答案

纯粹是因为OP似乎喜欢我的评论,所以我将其作为答案:

就个人而言,考虑到这里只有2种方法,而且您不可能再添加更多方法(vote_sideways?vote_diagonally?),我只会采用可读的方法。如果您可能有更多很多,我会采用DRY方式(因为它易于扩展),并带有可读的注释,以向其他开发人员(或稍后向您自己解释)。

关于ruby-on-rails - 什么是Rails Way? (可读性与干燥性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11034516/

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