3 ms·
interesting story as an aside, I think the original code, with the if statement, was clearer and would be easier to debug, etc, even if it was a bit longer
by recursivedoubts 4mo ago
interesting story
as an aside, I think the original code, with the if statement, was clearer and would be easier to debug, etc, even if it was a bit longer
- jpollock 4mo agoI prefer the second. :) It's about the cognitive load and having to follow branches. The second version minimizes the cyclomatic complexity, taking it to 1. The reader doesn't have to keep the if statement in mind when reading through the code, and doesn't have to worry about all the ways the code can get there if they want to modify it (e.g. to add logging, metrics, other logic). Whether or not consume should be a separate function depends on how often it's called. Here, I'm guessing it's once. :)
- dzaima 4mo ago..except, if you want to add logging/metrics/other logic, it's quite possible you'll want it to be conditional on the boolean anyway, bringing branching back, now mixed with the non-branching code. And even if you don't need to keep an if statement in mind, you still need to keep the variable in mind anyway.