In C# should I reuse a function / property parameter to compute temp result or create a temporary v

Posted by Hamish Grubijan on Stack Overflow See other posts from Stack Overflow or by Hamish Grubijan
Published on 2010-06-03T21:52:37Z Indexed on 2010/06/03 21:54 UTC
Read the original article Hit count: 484

Filed under:
|

The example below may not be problematic as is, but it should be enough to illustrate a point. Imagine that there is a lot more work than trimming going on.

public string Thingy 
{
    set 
    {
        // I guess we can throw a null reference exception here on null.
        value = value.Trim(); // Well, imagine that there is so much processing to do
        this.thingy = value;  // That this.thingy = value.Trim() would not fit on one line
        ...

So, if the assignment has to take two lines, then I either have to abusereuse the parameter, or create a temporary variable. I am not a big fan of temporary variables. On the other hand, I am not a fan of convoluted code. I did not include an example where a function is involved, but I am sure you can imagine it. One concern I have is if a function accepted a string and the parameter was "abused", and then someone changed the signature to ref in both places - this ought to mess things up, but ... who would knowingly make such a change if it already worked without a ref? Seems like it is their responsibility in this case. If I mess with the value of value, am I doing something non-trivial under the hood? If you think that both approaches are acceptable, then which do you prefer and why?

Thanks.

© Stack Overflow or respective owner

Related posts about c#

Related posts about parameters