I prefer the first example in both cases. Specificity depends on the context. Does the function care about the "store" or not? Could Godzilla exist somewhere else, heaven forbid?

My go-to is to default to writing booleans in a way that makes them read more sentence-like in context. For example:

if ( godzillaExists && mothraExists ) {
  doBattle(godzilla, mothra) 
}
 

Hungarian notation is dead and good riddance to it, but formulating boolean names as isX or hasX does a lot for clarity.

 
var hasGoodPoint = true;
var isMyConvention = true;

Also, I prefer not to pass booleans to (typically multi-argument) functions unless they are obviously expecting true or false (ie. property methods), so typically "can" or similar named functions:

This is okay:

canPost(true);

But this is not so good:

someMethod("Thing", true);

Some languages have named arguments, so in that case it'd be better to say:

someMethod("Thing", canDelegate=true);

Alternatively use enums:

someMethod("Thing", Delegation::Allowed);
 

usually something that makes grammatical sense paired with if

if(userExists && userHasValidCredentials) { handeLogin(user) }

I'm also not worried about long variable names because VSCode fills them in for me, and most editors do that for you.

 

For Ruby, and the humble question mark.

def intersects_with?(other)
  return false if empty? || other.empty?

  (self & other).any?
end

How would you feel about godzilla?

 

I usually use a variable with is as prefix, like

let isUserLogged = false;
 

In that case I wouldn't use a boolean but an object. To check if it exists, I'd check if it's null or not.

 
Classic DEV Post from Aug 2 '18

Fusion.js Universal Web Framework by UBER opensourced

First impressions & discussions around the new plugin based web framework by uber called Fusion.js.

⛡️ Building ambulatory healthcare software in beautiful, historic Annapolis, Maryland. Brass-bander. ADHD Avenger. Lover of giant hounds. Believer in the impossible.