Open
Description
Although we already have generator package, essentially it's just make
+ text/template
. For advanced code generation like #43 , using ast
package and other static checker is a must. Also we want to customize code formatting and checking for gommon itself and application using gommon
This package can have integration with other package like log, though in generator, logger generation is hard coded ....
Instead of running multiple external tools and combine the output, it might be better to squash their implementation into one common codebase to save ast traverse time. (Inspired by the new scala compiler, dotty's tree squash in compiler phases)
Ref
Tools
- https://github.com/mgechev/revive 6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint
- https://github.com/golangci/golangci-lint 5x faster than gometalinter. Nice colored output. Can report only new issues. Fewer false-positives. Yaml/toml config
- https://github.com/alecthomas/gometalinter Concurrently run Go lint tools and normalise their output
- https://github.com/dominikh/go-tools
- https://github.com/360EntSecGroup-Skylar/goreporter has UI
- https://github.com/golangci/awesome-go-linters
Tutorials