api/vendor/github.com/jgautheron/goconst
renovate c7f6748761 Update github.com/jgautheron/goconst commit hash to cda7ea3 (#228)
Update github.com/jgautheron/goconst commit hash to cda7ea3

Reviewed-on: vikunja/api#228
2020-04-07 08:38:00 +00:00
..
cmd/goconst [CI] Add more checks (#43) 2018-12-28 22:15:05 +00:00
LICENSE [CI] Add more checks (#43) 2018-12-28 22:15:05 +00:00
README.md [CI] Add more checks (#43) 2018-12-28 22:15:05 +00:00
go.mod Update github.com/jgautheron/goconst commit hash to cda7ea3 (#228) 2020-04-07 08:38:00 +00:00
parser.go [CI] Add more checks (#43) 2018-12-28 22:15:05 +00:00
visitor.go Update github.com/jgautheron/goconst commit hash to cda7ea3 (#228) 2020-04-07 08:38:00 +00:00

README.md

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 <directory>

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)

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