Code Smell 62 - Flag Variables
Flags indicate what happened. Unless their name is too generic.
Problems
Readability
Maintainability
Coupling
Solutions
Use meaningful names
Try to avoid flags. They generate coupling.
Sample Code
Wrong
Right
Detection
We can search all the code for bad named flags.
Tags
- Readability
Conclusion
Flags are widespread on production code. We should restrict their usage and use clear and intention revealing names.
Relations
More Info
If you lie to the compiler, it will get its revenge.
Henry Spencer
This article is part of the CodeSmell Series.
Unqualified
Flags cause me to flip out. I had the unfortunate experience of refactoring another developer's work that had a function with 7 input flags. The whole thing could've been achieved with a single Enum.
I agree
I'd check if I can double dispatch the enum, and then create polymorphic objects
Comments (3)