今天看代码时看到下面的一段代码:
public Output Validation(Input input)
{
bool validation = false;
var output = new Output();
var account = _accountManager.GetAccount(input);
if(account != null)
{
output.Id = account.Id;
validation = true;
}
return validation ? output : null;
}
显然,这段代码就非常不好,并没有遵循变量的作用域最小化原则,并且引入了不必要的临时变量。
应该改成这样:
public Output Validation(Input input)
{
Output output = null;
var account = _accountManager.GetAccount(input);
if(account != null)
{
output = new Output();
output.Id = account.Id;
}
return output;
}
第二个写法并不难写,可有的人就是要写第一种,希望每个人都多注意点自己的代码质量,不要给后人添麻烦。