When is it good form to push a local variable to a function/method as a parameter, rather than using a class variable in place of the function/method variable.
For instance, I can have a function:
int DoSomething(int var)
{
if(var == -1)
return 0;
}
or I can have a class variable "_var" and use it in the same function, like this:
int DoSomething()
{
if(_var == -1)
return 0;
}
I'm of the mind to, if we have a class variable to be used in some function/method, called DoSomething
in my example above, that I should send the DoSomething
function/method the class variable as a parameter, so that the function is easier to read and test.
When is it good form to do either? I know this is a loaded question, but I'm trying to make a case for my argument with a co-worker, and they're stating that I would add more code to the function/method signatures, rather than keeping the function/method signatures smaller.
In my mind, I'm making the code cleaner and easier to maintain by pushing the class variable(s) to the respective functions/methods, rather than forcing them to rely on/know about a class variable's existence.
Please advise.