-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong example in [Complex conditionals] #28
Comments
Hi @khanhicetea, thanks for the feedback! This is both an artificial language and an artificial example. Also, I didn't provide EBNF for the language, maybe its grammar doesn't have function calls in I am not sure if we should overload the reader with all sorts details or tricky edge-cases while conveying this general idea. |
Yea I think the purpose of the example with intermediate values is still conveyed succinctly, and I don't think many people would be confused by that edge case, so I think it makes sense as is For that given edge case, I think early-return/guard-clauses would be the best, least cognitive load alternative to allow for short-circuiting conditions. But I think showing that in the example just to support that edge case would do more harm than good when it comes to understanding the general idea. I could see adding a small "note" or something similar noting that edge case, but the original examples seems good as it is now |
How about this, right in logic code flows and in business domain ( It's emphasize the business dependencies , easy to read, easy to understand ) The request is allowed if only it's valid
|
I aso have an issue with the example of Complex Conditionals. The cognitive load on complex conditionals can be decreased by
You introduced local variables to use the #1. You also got rid (partially) of unneeded parenthesis (#2.) without talking about it. if condition1 // is it valid? |
Hi @zakirullin , your article is good :)
Btw, this example is some kind wrong as code (though it looks the same in domain-space)
The above code acts like a logic gate of 3 ANDs of 3 expressions (mean it can include function calls)
The below (solution) acts like a logic gate of 3 ANDS of 3 variables store of excecuted expression results
The text was updated successfully, but these errors were encountered: