gpt4 book ai didi

ruby - 功能标志最佳实践 : condition inside or outside of a method?

转载 作者:数据小太阳 更新时间:2023-10-29 07:32:22 25 4
gpt4 key购买 nike

<分区>

我们使用功能标志来启用/禁用我们系统中的某些功能。

我与我的同事讨论了向代码本身添加功能标志的标准方法是什么:

考虑以下方法:

def featured_method
do_this
do_that
end

我们的代码中大约有 15 个不同的地方调用了该方法。

您是否建议在每次调用此方法之前添加检查功能是否已启用:

if feature_enabled?(:feature_key)
featured_method
end

或者在 featured_method 本身内部,像这样:

def featured_method
if feature_enabled?(:feature_key)
do_this
do_that
end
end

在方法本身内部设置条件的优势很明显:让代码变干,而且当您想永久添加该功能时,只需从方法中删除条件即可。

在每次调用之前设置条件的好处是,无需进入 featured_method 代码本身,就可以非常清楚该方法是否执行,这可以省去很多麻烦。

我想知道是否有针对此类问题的另一种解决方案或标准。

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