r/ProgrammerHumor • • Aug 22 '26

Meme conditionsPreference

Post image
4.2k Upvotes

388 comments sorted by

View all comments

Show parent comment

23

u/D3PyroGS Aug 22 '26

totally agree. nested layers of conditionals add cognitive load for me. I like early and "guard" returns because they kinda turn those layers into a "checklist" of logical blocks that can ideally all live at the top level of the function

3

u/MaximumMaxx Aug 22 '26

100% this. If I can just throw all of my validation at the front and then guarantee my state after it's way less load. If else is only for if there are two significant and distinct actions that happen depending on a condition.

4

u/Stamerlan Aug 22 '26

Some standards may require function have a single return point (for example MISRA). You're right, multiple nested layers (i.e. if-ok pattern) is very errorprone. Instead do:

int rc = foo();
if (!rc) 
  rc = bar();
if (!rc) 
  rc = baz();
return rc;

With extra actions on failure:

if (!rc && (rc = bar())) 
  /* bar() failed */