goconst

by jgautheron

jgautheron / goconst

Find in Go repeated strings that could be replaced by a constant

186 Stars 10 Forks Last release: about 1 month ago (1.2.0) MIT License 21 Commits 2 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

goconst

Find repeated strings that could be replaced by a constant.

Motivation

There are obvious benefits to using constants instead of repeating strings, mostly to ease maintenance. Cannot argue against changing a single constant versus many strings.

While this could be considered a beginner mistake, across time, multiple packages and large codebases, some repetition could have slipped in.

Get Started

$ go get github.com/jgautheron/goconst/cmd/goconst
$ goconst ./...

Usage

Usage:

goconst ARGS

Flags:

-ignore exclude files matching the given regular expression -ignore-tests exclude tests from the search (default: true) -min-occurrences report from how many occurrences (default: 2) -min-length only report strings with the minimum given length (default: 3) -match-constant look for existing constants matching the values -numbers search also for duplicated numbers -min minimum value, only works with -numbers -max maximum value, only works with -numbers -output output formatting (text or json) -set-exit-status Set exit status to 2 if any issues are found

Examples:

goconst ./... goconst -ignore "yacc|.pb." $GOPATH/src/github.com/cockroachdb/cockroach/... goconst -min-occurrences 3 -output json $GOPATH/src/github.com/cockroachdb/cockroach goconst -numbers -min 60 -max 512 .

Other static analysis tools

  • gogetimports: Get a JSON-formatted list of imports.
  • usedexports: Find exported variables that could be unexported.

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.