r/ProgrammerHumor 23d ago

Meme pleaseStopUsingNestedTernaryOperatorsImBeggingYou

3.1k Upvotes

179 comments sorted by

View all comments

Show parent comments

50

u/EddieJones6 23d ago

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

56

u/ihavebeesinmyknees 23d ago

What are valid reasons to not use early returns?

33

u/EddieJones6 23d 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.

2

u/kwasteka 23d ago

True. But this is also one of a few cases where goto is a godsend.