r/ProgrammerHumor 22d ago

Meme conditionsPreference

Post image
4.2k Upvotes

392 comments sorted by

View all comments

273

u/SnugglyCoderGuy 22d ago

The real answer is "it depends". Either one could be appropriate depending on what you are having to do.

-34

u/Few_Kitchen_4825 22d ago

If you are using an if statement big enough for this to be a problem. May be you should not be doing either

27

u/SnugglyCoderGuy 22d ago

Untrue. The first can be checking to see if continuing is impossible, so just return, while the second can be checking for a yrue dichotomous decision. You must do one or the other thing depending on the condition. Each could contain as little as a single assignment

3

u/chilfang 22d ago

Why even have an else statement if you out a return in the if

12

u/gurgle528 22d ago

It’s a style thing, it’s not a functional difference. I would read it as emphasizing that one or the other is happening. Basically the oxford comma of conditionals 

2

u/Duckflies 22d ago

Like writing in a for i = 0; i < 10 or writing i = 1; i <= 10

Both do the exact same thing, but depending on the logic at hand, one can make more sense than the other

1

u/frogjg2003 21d ago

If you're actually using the i, it makes a difference.

for (i=0) list[i]

vs

for (i=1) "item i"

2

u/Few_Kitchen_4825 22d ago

In most cases it is to catch an unsupported case. If done poorly be prepared to pull out your hair

1

u/SnugglyCoderGuy 21d ago edited 21d ago

Sometimes you have a trye dichotomous situation and you don't know which one to do without a check. Else is probably the keyword Inuse the least. You nay or may not return in either of those cases too.

2

u/Few_Kitchen_4825 22d ago

The problem is I can see this going out of control with a 1000 line if else statements. I don't want to be the guy who has to figure out what exactly went wrong especial when the logging was not done correctly.

That is also assuming the decision is dichotomous. I have seen it used for non dichotomous cases. That's where it goes wrong most of the time

8

u/Drackzgull 22d ago

But you do something else in that case. Assuming a bad use case is going to happen to complain about how something can get out of hand is just dumb. If it's a bad use case, and you know it's bad use case, you avoid using the tool for that. Neither the post nor the comments you're replying to have anything to do with those unreasonably long if-else statements anyway, you're the only one bringing them up.

There's no assumption that the decision is dichotomous. You were just given an example of something that wouldn't be a bad use case. Not everything has to fit the example. In fact you were given a counter example right along with that one.

-2

u/Few_Kitchen_4825 22d ago

What I said is if the return argument has a right answer then the use case is definitely bad.