引数リストに肯定と否定を混ぜるのはあまりよろしくないコード。
例えば下記の様なバリデーションをするコードがあったとして…
bool isValidXxxx(string targetValue, bool allowNull, bool allowZero, bool notAllowWhiteSpace){ //nullチェック if(!allowNull && targetValue == null){ return false; } //ゼロチェック if(!allowZero) { int parsed; if( Int32.TryParse(targetValue, out parsed) && parsed==0){ return false; } } //空白のみ・空文字チェック if(notAllowWhiteSpace && targetValue.length!=0 && targetValue.Trim.length==0){ return false; } }
第2引数は許容=true, 第3引数は許容=trueなのに、第4引数は拒否=trueになっています。
この場合、第4引数も許容=trueにするのが、親切なコードの書き方。