メソッドの入力を検証するときに、引数が null かどうかをチェックしていました。そうであれば、ArgumentNullException をスローします。リスト内のすべての引数に対してこれを行うため、最終的には次のようなコードになります。
public User CreateUser(string userName, string password,
string Email, string emailAlerts,
string channelDescription)
{
if (string.IsNullOrEmpty(userName))
throw new ArgumentNullException("Username can't be null");
if (string.IsNullOrEmpty(Email))
throw new ArgumentNullException("Email can't be null");
//etc, etc, etc
}
これでよろしいですか?なぜ私はこれをしなければならないのですか?例外をスローする代わりに、単純にすべてのチェックをグループ化して null 値を返せばよいでしょうか? この状況に対処するためのベストプラクティスは何ですか?
PS:これを変更したいのは、メソッドが長いと非常に面倒になるからです。
アイデア?