Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Best way to re-factor
Message
De
14/02/2013 11:45:07
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:
01565967
Message ID:
01566021
Vues:
70
This message has been marked as a message which has helped to the initial question of the thread.
>>>I changed the top part (up to OK to close drawer) into a separate method. The question now is - can I re-use this piece somehow in two places?
>>>
>>>
>>>String currentOperator, currentSalespoint, closeOperator, closeSalespoint, cDetails;
>>>                        currentOperator = GetParameterValue(parameters, "tcOperator");
>>>                        currentSalespoint = GetParameterValue(parameters, "tcSalespoint");
>>>                        cDetails = GetParameterValue(parameters, "tcDetails");
>>>                        closeOperator = cDetails.ParseStringFromSqml("CLOSE_OP");
>>>                        if (String.IsNullOrWhiteSpace(closeOperator))
>>>                            closeOperator = currentOperator;
>>>                        closeSalespoint = cDetails.ParseStringFromSqml("CLOSE_SP");
>>>                        if (String.IsNullOrWhiteSpace(closeSalespoint))
>>>                            closeSalespoint = currentSalespoint;
>>>                        DateTime startTime, endTime;
>>>                        startTime = cDetails.ParseDateTimeFromSqml("START_TIME");
>>>                        endTime = cDetails.ParseDateTimeFromSqml("END_TIME");
>>>
>>>
>>>?
>>>
>>>I guess I can pass back all parameters by reference, but is it a good solution?
>>>
>>It isn't so difficult to see that that method needs as
>>In Parameters : parameters
>>Out Parameters: startTime, endTime
>>
>>
>>void TheMethod( type of parameters, out DateTime startTime, out DateTime endTime)
>>{ 
>>   // the code 
>>}
>>
>
>It actually also needed closeSalespoint and closeOperator. I sent both as out parameters but I was thinking I may create the above as a class instead with these properties. Do you think it will be a better solution or 4 out parameters is not bad?


IMNHO, I never use out parameters unless forced to by the .net framework. A method should have one entry, one exit and perform one function. I always pass/return either custom classes or tuples. Much more professional than spaghetti code with multiple entries, exits, and out parameters.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform