今天看代碼時看到下面的一段代碼:
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;
}
第二個寫法並不難寫,可有的人就是要寫第一種,希望每個人都多注意點自己的代碼質量,不要給後人添麻煩。