Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Multiple return points - is it OK practice?
Message
 
 
À
01/02/2013 15:54:44
John Baird
Coatesville, Pennsylvanie, États-Unis
Information générale
Forum:
ASP.NET
Catégorie:
Code, syntaxe and commandes
Versions des environnements
Environment:
C# 4.0
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Divers
Thread ID:
01564936
Message ID:
01564961
Vues:
60
>>>I have controller methods where sometimes I return a View and othertimes I RedirectToAction. So, two returns are required.
>>>
>>Right now I am working on the conversion of our VFP class library into C# dll. In VFP we checked parameters at the top and returned. There were also many other return exists in the methods.
>>
>>I already converted a few by not using early returns, but I think in general it should be OK - otherwise it's very hard to use if else if else nested logic.
>
>No its not....
>
>You set a variable. ... retVal ... you initialize it however you want, then in your flow, instead of returning, you assign the value to retVal and at the end you return retVal.
>
>I hate code with multiple return points and numerous out parameters. You cant test it and you end up with nothing but a spaghettie code mix...

But how do you navigate in all this if else code

E.g.
Int32 SomeValue;

If (!Int32.TryParse(SomeString, out SomeValue) || SomeValue = 0)
   {
   // First Error here
   }
   else
      { more code that may cause problems
             if ...
                     
      }
}
In other words, it is very hard to keep track of all these if else and {}

BTW, I usually create several UnitTests per method - for invalid parameters, for some unreal values, etc.
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform