何かを行い、さらに情報をログに記録するメソッドがある場合、ログを記録したりフラグを使用したりしたくない場合は、新しいメソッドを作成する必要がありますか?
public void MethodA(string myMessage, bool logIt)
{
if(logIt)
{
//do stuff with logging
}
{
//don't need to log
}
}
...対...
public void MethodA(string myMessage)
{
//do stuff with logging
}
public void MethodANoLogging(string myMessage)
{
//don't need to log
}
私のシナリオは単純で、主に flag パラメーターに関心があります。これは、同じメソッド内で多くの if...else if...else if シナリオを作成する列挙型である可能性があります。別の名前で新しいメソッドを作成するだけではありません。メソッドが 1 つの責任を持つことができるので、私は 2 番目の解決策 (新しい方法) を支持します。基本的に、それはより単純なソリューションです。
フラグ バージョンを使用する理由は何ですか?