システムの特定の機能を有効/無効にするために、機能フラグを使用しています。
コード自体に機能フラグを追加する標準的な方法について、同僚と話し合いました。
次の方法を検討してください。
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
すべての呼び出しの前に条件を設定する利点は、コード自体に入ることなく、そのメソッドが実行されるかどうかが非常に明確であることです。これにより、多くの頭痛の種を減らすことができます。
この種の問題に対する別の解決策または標準があるかどうか疑問に思っていました。