我对如何最好地将我的代码重构为更具可读性的东西感到困惑.
考虑一下这段代码:
var foo = getfoo();
if(foo!=null)
{
var bar = getbar(foo);
if(bar!=null)
{
var moo = getmoo(bar);
if(moo!=null)
{
var cow = getcow(moo);
...
}
}
}
return;
Run Code Online (Sandbox Code Playgroud)
如您所见,需要大量嵌套if块,因为每个嵌套块依赖于先前的值.
现在我想知道如何让我的代码在这方面更清洁一些.
我自己想到的一些选择是:
ArgumentNullExceptions,之后我将它们捕获到最后并将return语句放在我的finally子句中(或者在try/catch块之外)goto:大多数这些选项对我来说似乎有点"脏",所以我想知道是否有一种很好的方法来清理我创建的这个混乱.