因此,我已经编程了几年,最近又开始更多地使用ReSharper。ReSharper经常向我建议的一件事是“反转'if'语句以减少嵌套”。
假设我有以下代码:
foreach (someObject in someObjectList)
{
if(someObject != null)
{
someOtherObject = someObject.SomeProperty;
}
}
ReSharper建议我这样做:
foreach (someObject in someObjectList)
{
if(someObject == null) continue;
someOtherObject = someObject.SomeProperty;
}
看来,无论进行多少嵌套,ReSharper都会总是建议我反转IF。这个问题是我至少在某些情况下喜欢嵌套。对我来说,似乎更容易阅读和弄清某些地方的情况。并非总是如此,但有时我感到更舒适的嵌套。
我的问题是:除了个人喜好或可读性之外,还有其他减少嵌套的理由吗?是否存在性能差异或其他我可能不知道的东西?