DEV Community

Discussion on: Keeping your code clean by sweeping out "if" statements

Collapse
laughingraven profile image
Laughing Raven

Bold statements, but dubious at best. Don't be clever. Use the if statement. Think about all the overhead you introduce and how much more difficult your code is to debug.

Collapse
binarydelight profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
Binary Delight

Clearly you don’t get the difference between declarative programming and imperative and would rather stay “not clever”. It’s fine, I hire clever declarative programmers over imperative programmers . Clever programmers who write smart code, less code, which leads to less bugs. The reason you prefer using the if statement is because you find it easier to debug, which obviously is very important to you because that’s what you do a lot of... because of your spaghetti if code. Now that’s dubious .

Thread Thread
lagerenas profile image
lagerenas

Hmm. Reading this article and reflecting on the times I have encountered the map pattern I initially did not like it. It separates the logic into two different places. That makes it harder to trace through the code and find the right place to modify. You are however right that I have to do it less often using this pattern.

Thread Thread
laughingraven profile image
Laughing Raven • Edited on

As an electrical engineer, coding is only a small part of what I do. The rest of my day is spent in planning, documentation, testing for regulatory compliance and debugging. Then again, I write firmware for medical equipment. It must be correct or people die.

Thread Thread
skyl profile image
Skylar Saveland

Imperative style with lots of ifs takes a lot more unit tests to prove it works compared to declarative style. One shouldn’t be debugging, one should be testing and isolating complexity out of the main program. This thread is scary, frankly.

Don’t worry about cyclomatic complexity, just do a lot of debugging to make sure people don’t die? Hrm ...

If it has to work or people die, then you really should scrutinize every if statement carefully and see if you can get rid of it. Many ifs are bugs waiting to be discovered.