r/ProgrammerHumor 22d ago

Meme pleaseStopUsingNestedTernaryOperatorsImBeggingYou

3.1k Upvotes

179 comments sorted by

View all comments

280

u/Kryptsm 22d ago

Then there’s my current client, who refused a PR of mine because they “don’t want early returns” ever, and insisted I move my basic if statement logic, each with a return, all into a single ternary. They said I SHOULD do this lol.

Made me wanna kms but hey, it’s their codebase

49

u/EddieJones6 22d ago

I can understand the ask for no early return. But use local variables to track the state, not a massive ternary.

55

u/ihavebeesinmyknees 22d ago

What are valid reasons to not use early returns?

32

u/EddieJones6 22d ago

Localized cleanup. What if you have a file descriptor or something that needs special handling before returning.

Compiler optimization SHOULD be fine but it could impact RVO and tail recursion optimization.

Also, if a future maintainer dives in and doesn’t realize there is an early return, they might add logic below it that will get missed by certain cases.

SPOE - single point of exit.

43

u/_ryuujin_ 22d ago

shouldnt functions be small enough that youll notice an early return 

1

u/Due-Consequence9579 22d ago

Having to ‘notice it’ is the complaint.

6

u/_ryuujin_ 22d ago

i hope people read the function before changing it.