Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Best way to re-factor
Message
From
14/02/2013 11:45:07
John Baird
Coatesville, Pennsylvania, United States
 
General information
Forum:
ASP.NET
Category:
Coding, syntax and commands
Environment versions
Environment:
C# 4.0
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01565967
Message ID:
01566021
Views:
68
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.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform