Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > comp.programming > #16776

Re: “Booleans Considered Harmful”

From David Brown <david.brown@hesbynett.no>
Newsgroups comp.programming
Subject Re: “Booleans Considered Harmful”
Date 2025-05-22 13:51 +0200
Organization A noiseless patient Spider
Message-ID <100n34e$3eqip$1@dont-email.me> (permalink)
References <100mhh5$3b9hp$3@dont-email.me>

Show all headers | View raw


On 22/05/2025 08:51, Lawrence D'Oliveiro wrote:
> I think most of this article is a load of nonsense, myself.
> 
> <https://www.infoworld.com/article/3990923/booleans-considered-harmful.html>
> 
> Thoughts?

He makes some relevant points about clarity of code, but most is general 
and unrelated to booleans, and a lot of what he writes is exaggerated.

So in general, I'd prefer positive names to negative ones - 
"UserIsAuthorised" rather than "UserIsNotAuthorised".  And I would not 
"hide" a "not" in the middle of a variable name as his example does. 
But sometimes a negative name makes more sense - "UserBanned" might be 
perfectly reasonable.

All things being equal, I'd usually choose "put positive first".  But 
again, that's more a bias than a rule.  In particular, it might often be 
best with an "early exit" coming first regardless of whether it is the 
positive condition or the negative condition.

And while I agree with the principle of "no complex expressions", I 
think he is exaggerating what makes an expression complex, and picking a 
poor way to handle it.  Some parentheses can make a huge difference to 
readability without needing to introduce extra names.  Sometimes nested 
if's are a good way to split complicated conditionals.  Adding extra 
names is a good idea only if they add clarity to the code - the writer's 
examples do not.  And yes, people /will/ complain about absurdly long 
variable names.

Excessive boolean parameters in functions are bad - but so are excessive 
parameters of any other type.


Back to comp.programming | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

“Booleans Considered Harmful” Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-05-22 06:51 +0000
  Re: “Booleans Considered Harmful” Julio Di Egidio <julio@diegidio.name> - 2025-05-22 11:14 +0200
    Re: “Booleans Considered Harmful” Julio Di Egidio <julio@diegidio.name> - 2025-05-22 12:04 +0200
    Re: “Booleans Considered Harmful” Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-05-22 22:33 +0000
      Re: “Booleans Considered Harmful” Julio Di Egidio <julio@diegidio.name> - 2025-05-23 07:04 +0200
  Re: “Booleans Considered Harmful” David Brown <david.brown@hesbynett.no> - 2025-05-22 13:51 +0200
    Re: “Booleans Considered Harmful” Julio Di Egidio <julio@diegidio.name> - 2025-05-22 14:43 +0200
      Re: “Booleans Considered Harmful” Julio Di Egidio <julio@diegidio.name> - 2025-05-22 14:57 +0200
  Re: “Booleans Considered Harmful” Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-05-22 12:27 -0700
  Re: “Booleans Considered Harmful” JJ <jj4public@outlook.com> - 2025-05-23 16:56 +0700
    Re: “Booleans Considered Harmful” Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-05-23 22:58 +0000
  Re: “Booleans Considered Harmful” Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-05-23 22:48 +0000
  Re: “Booleans Considered Harmful” c186282 <c186282@nnada.net> - 2025-06-18 02:40 -0400

csiph-web