Slide 1

Slide 1 text

Tomoki Ota ʲGoݴޠʳ golangci-lintͷ࢖͍ํ

Slide 2

Slide 2 text

golangci-lintͱ͸ Πϯετʔϧํ๏ ࢖༻ํ๏ɾઃఆํ๏ Github Action ΞδΣϯμ 2

Slide 3

Slide 3 text

golangci-lint

Slide 4

Slide 4 text

golangci-lint ʹ͸ɺgofmt, goimports, govetͳͲ 100Ҏ্ͷϦϯλʔ͕ೖ͍ͬͯΔɻ 4 golangci-lintͱ͸

Slide 5

Slide 5 text

Πϯετʔϧ curlͰΠϯετʔϧ͢Δͷ͕Φεεϝ 5

Slide 6

Slide 6 text

Πϯετʔϧ brew 6

Slide 7

Slide 7 text

brewʹ࠷৽൛͕ͳ͚Ε͹ɺbrew tapΛ࢖͏ Πϯετʔϧ 7

Slide 8

Slide 8 text

go install XXX͸ඇਪ঑ Πϯετʔϧ 8

Slide 9

Slide 9 text

Πϯετʔϧ 9

Slide 10

Slide 10 text

όʔδϣϯ֬ೝ 10

Slide 11

Slide 11 text

࣮ߦ 11

Slide 12

Slide 12 text

࣮ߦ લͷϖʔδͱಉ͡ 12

Slide 13

Slide 13 text

࣮ߦ(ϑΝΠϧɾσΟϨΫτϦࢦఆ) 13

Slide 14

Slide 14 text

࣮ߦ(LinterΛࢦఆ) 14

Slide 15

Slide 15 text

DEBUG -v Λ͚ͭΔ 15

Slide 16

Slide 16 text

DEBUG ؀ڥม਺GL_DEBUGʹλάΛࢦఆ͢Δͱ ΑΓৄࡉͳDEBUG͕Ͱ͖Δ 16

Slide 17

Slide 17 text

DEBUG https://github.com/golangci/golangci-lint/blob/master/pkg/logutils/logutils.go

Slide 18

Slide 18 text

༗ޮͳϦϯλʔͷ֬ೝ https://golangci-lint.run/usage/linters/

Slide 19

Slide 19 text

༗ޮͳϦϯλʔͷ֬ೝ

Slide 20

Slide 20 text

༗ޮͳϦϯλʔͷ֬ೝ

Slide 21

Slide 21 text

ઃఆϑΝΠϧ .golangci.yml .golangci.yaml .golangci.toml .golangci.json

Slide 22

Slide 22 text

ઃఆϑΝΠϧ

Slide 23

Slide 23 text

ઃఆϑΝΠϧ https://gist.github.com/maratori/47a4d00457a92aa426dbd48a18776322# f ile-golangci-yml

Slide 24

Slide 24 text

VSCodeͷઃఆ --fastΛઃఆ͠ͳ͍ͱΤσΟλ͕མͪΔՄೳੑ͕͋Δ https://golangci-lint.run/welcome/integrations/

Slide 25

Slide 25 text

Github Action

Slide 26

Slide 26 text

golangci/golangci-lint-action

Slide 27

Slide 27 text

reviewdog/action-golangci-lint

Slide 28

Slide 28 text

reviewdog/action-golangci-lint