You are viewing a single thread.
View all comments
12 points

Please don’t use #2. It is how you get the goto fail bug

permalink
report
reply
10 points

But I really need to go.

permalink
report
parent
reply
1 point

Then use golang

permalink
report
parent
reply
3 points

Should you even be using goto? I was taught to avoid it like the plague

permalink
report
parent
reply
4 points

Apple wrote bugged TLS code that broke using unbraced ifs with a goto, hence the name “goto fail”. You don’t need a goto to break this code though. All you need is a second indented line under the if

permalink
report
parent
reply
1 point

10 goto 20

20 goto 10

permalink
report
parent
reply
1 point

Can you explain? 1 and 2 seem like the same logic? Are they compiled differently?

To me number 2 is just the cleanest and most easy to read. But I really need to get more used to lambda’s

permalink
report
parent
reply
3 points

#2 is also the most insideous to update. Add another indented line to one of the conditions and the cotrol flow completely breaks while visually appearing fine.

C and a number of other languages have annoying pair of parallel syntax systems that makes it easy for people to read code one way and computers to compile it another. People read the indentation and newlines while compilers count braces and semicolons. #2 gets rid of the braces and makes control flow driven by semicolons making human visual inspection more likely to fail

permalink
report
parent
reply
1 point

Thanks for the reply (not really sure why someone would downvote you for answering a question).

permalink
report
parent
reply

Programmer Humor

!programmerhumor@lemmy.ml

Create post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.

Community stats

  • 4.4K

    Monthly active users

  • 1.5K

    Posts

  • 35K

    Comments