Hacker News new | past | comments | ask | show | jobs | submit login

> Not having the braces makes it so easy to accidentally break in later changes or refactoring.

Did you mean “not having a linter”? Because once you have a linter you no longer need the braces because the autoformatting will always fix the indentation.




I was thinking of a case like this:

    if (foo)
        return;
Perfectly valid and people do it. But then later on someone might put a debug statement above the return to check something. Or add some other logic.

    if (foo)
        doSomething();
        return;
And suddenly the logic is broken and the return falls out of the if-condition. It looks fairly contrived with an example like this but easy to do when code is a bit more complicated or people are tired or rushed. It's a good habit to always enforce braces for if-conditions as it defeats that whole category of mistakes. Fairly innocent but can be so hard to find because of that.

A linter would enforce having braces and solve the issue. And for codebases without a linter it is a good habit to just go with the braces.


I think you misread what I wrote. Your example could be fixed by braces, but it can equally well be fixed by just automatically fixing the incorrect indentation. Visual Studio has been doing this for a decade already. It's really not rocket science.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: