Je suis un peu confus sur la façon de mieux refactoriser mon code en quelque chose de plus lisible.
Considérer ce morceau de code:
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;
Comme vous pouvez le voir, beaucoup de imbriquée if
blocs, nécessaire parce que chaque si imbriquées dépend de la valeur précédente.
Maintenant, je me demandais comment faire pour que mon code un peu plus propre à cet égard.
Quelques options que j'ai pensé à moi serait:
- de retour après chaque clause if, sens j'aurais plusieurs endroits où je laisse ma méthode
- jeter
ArgumentNullException
s, après quoi j'avais attraper à la fin et le lieu de l'instruction de retour dans ma clause finally (ou à l'extérieur du bloc try/catch) - travailler avec un label et d'
goto:
La plupart de ces options semblent un peu "sale" pour moi, donc je me demandais si il y avait un bon moyen de nettoyer ce gâchis que j'ai créé.