From 2f65172f67d22e278bc1da3db669260cdb4faf39 Mon Sep 17 00:00:00 2001 From: Koichi Shiraishi Date: Mon, 9 Mar 2020 07:40:39 +0900 Subject: [PATCH] lint/golangci-lint: update golangci-lint config --- .golangci.yml | 132 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 90 insertions(+), 42 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 8a1e690..14d15c2 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,22 +1,42 @@ run: - concurrency: 12 - deadline: 5m issues-exit-code: 1 tests: true - # skip-dirs: + skip-dirs: + - "vendor$" skip-files: - ".*\\.pb\\.go" - ".*(.|_)gen\\.go" modules-download-mode: vendor linters-settings: + dupl: + threshold: 400 errcheck: check-type-assertions: true check-blank: true # exclude: .errcheckignore + funlen: + lines: 80 + statements: 40 goconst: min-len: 3 min-occurrences: 3 + gocritic: + enabled-tags: + - diagnostic + - experimental + - opinionated + - performance + - style + settings: + hugeParam: + sizeThreshold: 80 + rangeExprCopy: + sizeThreshold: 512 + rangeValCopy: + sizeThreshold: 128 + gocyclo: + min-complexity: 10 gofmt: simplify: true goimports: @@ -24,23 +44,45 @@ linters-settings: golint: min-confidence: 0.3 govet: - check-shadowing: false - gocritic: - enabled-tags: - - diagnostic - - style - - performance - - experimental - - opinionated - settings: - hugeParam: - sizeThreshold: 128 - rangeExprCopy: - sizeThreshold: 512 - rangeValCopy: - sizeThreshold: 128 + enable: + - asmdecl + - assign + - atomic + - atomicalign + - bools + - buildssa + - buildtag + - cgocall + - composite + - copylock + - ctrlflow + - deepequalerrors + - errorsas + - findcall + - httpresponse + - inspect + - loopclosure + - lostcancel + - nilfunc + - nilness + - pkgfact + - printf + - shift + - sortslice + - stdmethods + - structtag + - tests + - unmarshal + - unreachable + - unsafeptr + - unusedresult + disable: + - shadow + lll: + line-length: 180 + tab-width: 1 maligned: - suggest-new: true + suggest-new: false misspell: locale: US nakedret: @@ -53,49 +95,55 @@ linters-settings: algo: cha check-exported: true unused: - check-exported: true + check-exported: false linters: + # disabled: + # - funlen + # - gochecknoglobals + # - gochecknoinits + # - gocyclo + # - godox + # - gomnd + # - maligned + # - megacheck + # - scopelint + # - wsl + disable-all: true enable: + - bodyclose - deadcode - depguard + - dogsled - dupl - errcheck + - gocognit - goconst - gocritic - gofmt - goimports - golint - - ineffassign - - maligned - - misspell - - prealloc - - structcheck - - typecheck - - unconvert - - varcheck + - gosec - gosimple - govet + - ineffassign - interfacer - - staticcheck - - stylecheck - - unparam - disable: - - gochecknoglobals - - gochecknoinits - - gocyclo - - gosec - lll + - misspell - nakedret + - prealloc + - staticcheck + - structcheck + - stylecheck + - typecheck + - unconvert + - unparam - unused - fast: true + - varcheck + - whitespace issues: - exclude-rules: - - path: "const.go" - linters: - - golint - - misspell + exclude-use-default: true output: format: colored-line-number