A colleague of mine states that booleans as method arguments are not acceptable. They shall be replaced by enumerations. At first I did not see any benefit, but he gave me an example.
What’s easier to understand?
file.writeData( data, true );
Or
enum WriteMode { Append, Overwrite }; file.writeData( data, Append );
Now I got it! 😉
This is definitely an example where an enumeration as second parameter makes the code much more readable.
So, what’s your opinion on this topic?
Boolean’s represent ‘yes/no’ choices. If you want to represent a ‘yes/no’, then use a boolean, it should be self-explanatory.
But if it’s a choice between two options, neither of which is clearly yes or no, then an enum can sometimes be more readable.