public void AccessPermissions(User user)
{
if (user.Age >= 18)
{
if (user.IsRegistred)
{
if (user.IsPowerfull)
{
AcessGrantLevel3();
}
else
{
AccessGrantLevel2();
}
}
else
{
AccessGrantLevel1();
}
}
else
{
AcceessDenied();
}
}
コードメトリクス測定によると、この関数は非常に悪く、クリーンなコード開発によると、この関数はテストには適していません。Code Metrics と TDD を満足させるにはどうすればよいですか? ネストされた If ステートメントは常に悪いですか?