3 ms·
I’m not entirely sure what you mean by a fragmented ecosystem? Go has first-party formatting and linting and the language is deliberately restricted to ensure i
by bargainbin 2mo ago
I’m not entirely sure what you mean by a fragmented ecosystem? Go has first-party formatting and linting and the language is deliberately restricted to ensure it is written in a certain way, even when written by complete novices.
Compare that to Python or TypeScript which are Wild West languages without opinionated first-party tooling, and it’s clear why Ruff/Biome feel great.
You just wouldn’t get that same high with Go.
- gempir 2mo agoGo has a good start for that, but It's not enough for me. Gofmt is a great idea but it isn't strict enough for my taste. Go does not have any first party static analyzers, closest is Staticcheck which is even sponsored by Google themselves
- arccy 2mo agogo vet, plus all the ones in gopls?
- deleted 2mo ago[deleted]
- Groxx 2mo agoI don't believe you can add custom analyzers to `go vet`, which arguably rules it out. But it is extremely simple to make a custom vet-like tool, because it's a trivial binary wrapper around the analysis framework, which is first-party (though it's structurally pretty limited by design, and won't handle all linting needs): https://cs.opensource.google/go/go/+/refs/tags/go1.26.5:src/cmd/vet/main.go https://cs.opensource.google/go/go/+/refs/tags/go1.26.5:src/...
- prattmic 2mo ago-vettool allows using different analyzers built with the analysis framework: https://pkg.go.dev/cmd/go#:~:text=The%20%2Dvettool%3Dprog%20flag%20selects%20a%20different%20analysis%20tool%20with%20alternative%20or%20additional%20checks%2E%20For%20example%2C%20the%20%27shadow%27%20analyzer%20can%20be%20built%20and%20run%20using%20these%20commands%3A https://pkg.go.dev/cmd/go#:~:text=The%20%2Dvettool%3Dprog%20...