[Marble-devel] Marble FileStorageWatcher

Torsten Rahn rahn at kde.org
Fri Mar 13 08:59:51 CET 2009

On Friday 13 March 2009 07:54:42 Mülner, Helmut wrote:
>  > setFeature(bool)
> Do you mean "The Boolean Parameter Trap"? ;-)

Actually no :-)

There is a pretty strict line between providing getters and setters for a 
boolean property and the scenario of the "Boolean Parameter Trap". And both 
gets covered in the link that I've sent:

For boolean properties it makes sense of course to have setters and getters 
along the line of:

void setBoolProperty( bool )
bool boolProperty() const

.... as long as the function name clearly and unmistakenly indicates what the 
bool is about:  

See the subchapter "Naming Boolean Getters, Setters, and Properties" for some 
details (you need to scroll down a bit):


The boolean parameter trap on the other hand is the scenario where people add 
a bool (or an int) to an existing function where the semantic relationship 
between the primary intent of the method and the parameter gets lost (or even 
worse: is misleading, see the widget->repaint(false); ) method in the article.

Once the semantic is lost for a function it's just convenient to add even more 
boolean parameters and that's where the boolean parameter trap starts to 
become very apparent. See: 


One solution to deal with meaningless boolean parameters is the usage of flags:


Best Regards,


> Best regards,
> Helmut

More information about the Marble-devel mailing list