Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There is no spec for go fmt. Its behavior has changed across releases.

It has no switches to disable features.

It destroys many nice single-line constructs, e.g.

    if err != nil { return err }
Much of my code would be painful to read without that one.

On the bright side, it artificially inflates your line count, so you appear more productive!



I think we're going to have to disagree there, then - yes that oneliner might reduce your LOC count and help you win at code golf, but it doesn't actually make things more readable and certainly isn't worth breaking from the rest of the community.

The ecosystem-wide consistency of go fmt is its biggest strength. Adding switches to disable features would eliminate that.


There is a lot more to effective code style than whitespace, and most Go code I've seen doesn't consider that, including the stdlib.

I've put a lot of thought into my style guide, and anyone who hasn't done the same has no useful insight on whether go fmt is a help or a hindrance.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: