我們使用功能標誌來啓用/禁用系統中的某些功能。功能標誌最佳實踐:條件內部或外部的方法?
我有過什麼是添加的功能標誌代碼本身的標準方式與我的同事討論:
考慮以下方法:
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
優勢條件內部的條件是顯而易見的:DRYing的代碼,以及事實上,當你想永久添加該功能,你只需從該方法內刪除條件。
在每次調用之前擁有這個條件的好處是,它非常清楚這個方法是否被執行或者沒有進入代碼本身,這可以節省相當多的頭痛。
我想知道是否有另一種解決方案或這些問題的標準。
有人會投票結束_anything_。 – 2013-05-14 13:50:15
大聲笑,我可以不在乎少,不用擔心:) – 2013-05-14 14:39:30