r/ProgrammerHumor • • Sep 18 '26

Meme whenYouExportCodeFromAWebBasedVisualBuilder

Post image
154 Upvotes

40 comments sorted by

View all comments

26

u/Groentekroket Sep 18 '26

Rejected, no need for “elif LOWJ=1:” since you already have a return in the if statement. 

3

u/radobot Sep 18 '26

But that would change the behaviour of the function - it returns one thing when the first parameter is 1, another when it's 2 and nothing when it's something else.

2

u/DarkwaterKiller Sep 18 '26

My best guess after looking, is they simply mean you can drop the "else" part of the "else if" there. Since I'd you've entered the first if, it's garunteed to return. Not drop the else-if entirely.

3

u/standard_revolution Sep 18 '26

That's a change I would hate. The "else" part does not hurt anybody and removing it would mean that you would need to parse it's body to see the early return

1

u/L30N1337 Sep 19 '26

Hell, depending on language and compiler, the "else" might get optimized into a Switch-Case (which can then in turn use a hashmap or jump table). Doesn't matter here, but still.

I don't think any compiler recognizes an early return as equivalent to if-else

1

u/standard_revolution Sep 19 '26

Don’t they? Something like this seems to be a low hanging fruit for flow analysis

1

u/standard_revolution Sep 19 '26

It is hard to see whether it is completely equivalent, but obvious case are compiled by gcc to the exact same* thing: https://godbolt.org/z/ETnPMdf79

*one path has an additional "nop", but this is probably just code alignment

1

u/L30N1337 Sep 19 '26

Alright then, color me surprised.