最近我在使用ReSharper时,它建议我通过反转if
条件并使用continue
语句来减少某些地方的嵌套。
嵌套条件语句:
foreach(....)
{
if(SomeCondition)
{
//do some things
if(SomeOtherNestedCondition)
{
//do some further things
}
}
}
continue 语句:
foreach(....)
{
if(!SomeCondition) continue;
//do some things
if(!SomeOtherNestedCondition) continue;
//do some further things
}
我理解为什么要减少嵌套以提高性能和内存使用等问题,以及这两个代码片段彼此相等的逻辑。然而,根据我的开发背景,在阅读代码时,before示例更容易理解。
您更喜欢哪种方法?为什么?在日常代码中,您是否使用continue
而不是嵌套的if语句?