Re:Why I Don't Like Golang (2016)
by networkimprov on Thursday June 13, 2019 @01:14AM
(#20171986)
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.
Re:Why I Don't Like Golang (2016)
by networkimprov on Friday June 14, 2019 @05:03AM
(#20181484)
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.
> one of the best parts of the go ecosystem
Is it more powerful in some way than the auto-formatters that exist for nearly every other language?
It has one amazing property not shared by any other auto-formatter I'm aware of - it is included with the compiler by default and so is the only formatter in common use. Yes, there are formatters for C++ or Java - but the plural there is not a good thing.
go fmt may not be anyone's favorite code style, but having go fmt is so much better than dealing with everyone else's favorite (incompatible!) styles.