When and why you should use void (instead of i.e. bool/int)
Posted
by
Jonas
on Programmers
See other posts from Programmers
or by Jonas
Published on 2011-04-13T09:15:42Z
Indexed on
2012/11/14
23:18 UTC
Read the original article
Hit count: 373
I occasionally run into methods where a developer chose to return something which isn't critical to the function. I mean, when looking at the code, it apparently works just as nice as a void
and after a moment of thought, I ask "Why?" Does this sound familiar?
Sometimes I would agree that most often it is better to return something like a bool
or int
, rather then just do a void
. I'm not sure though, in the big picture, about the pros and cons.
Depending on situation, returning an int
can make the caller aware of the amount of rows or objects affected by the method (e.g., 5 records saved to MSSQL). If a method like "InsertSomething" returns a boolean, I can have the method designed to return true
if success, else false
. The caller can choose to act or not on that information.
On the other hand,
- May it lead to a less clear purpose of a method call? Bad coding often forces me to double-check the method content. If it returns something, it tells you that the method is of a type you have to do something with the returned result.
- Another issue would be, if the method implementation is unknown to you, what did the developer decide to return that isn't function critical? Of course you can comment it.
- The return value has to be processed, when the processing could be ended at the closing bracket of method.
- What happens under the hood? Did the called method get
false
because of a thrown error? Or did it return false due to the evaluated result?
What are your experiences with this? How would you act on this?
© Programmers or respective owner