Я немного смущен тем, как лучше всего реорганизовать мой код во что-то более читаемое.
Рассмотрим этот фрагмент кода:
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;
Как вы можете видеть, много вложенных блоков if
, необходимых, потому что каждое вложенное, если оно зависит от предыдущих значений.
Теперь мне было интересно, как сделать мой код немного более чистым в этом отношении.
Некоторые параметры, о которых я подумал, будут:
- return после каждого предложения if, то есть у меня будет несколько мест, где я оставлю свой метод
- throw
ArgumentNullException
s, после чего я поймаю их в конце и поставлю оператор return в мое предложение finally (или вне блока try/catch) - работа с меткой и
goto:
Большинство из этих параметров кажутся мне "грязными", поэтому мне было интересно, есть ли хороший способ очистить этот беспорядок, который я создал.