Closed5

reviveを導入する

てぃむてぃむ

https://github.com/mgechev/revive

revive はgo のlinter

開発にしか使わないし、linterなのでinstall はglobalにする。
やりやすいように諸々Makefileに記載しておく

.PHONY: lint tools.get
GOBIN = $(shell go env GOPATH)/bin

tools.get:
	go install github.com/mgechev/revive@latest

lint:
	$(GOBIN)/revive
てぃむてぃむ

試しにrevive が効くか試してみる

main.go をつくり、怒られてみる

package main

import "fmt"

func main() {
	out_put := "main called"
	fmt.Println(out_put)
}

$ make lint
/home/uchida/.asdf/installs/golang/1.20.1/packages/bin/revive -config revive.toml -formatter friendly ./...
  ⚠  https://revive.run/r#var-naming  don't use underscores in Go names; var out_put should be outPut  
  main.go:6:2

  ⚠  https://revive.run/r#package-comments  should have a package comment  
  main.go:1:1

⚠ 2 problems (0 errors, 2 warnings)

Warnings:
  1  var-naming        
  1  package-comments  

動いてそうだ

てぃむてぃむ

ついでに go vet も追加しておいて、Makefileはこうなる

.PHONY: lint tools.get
GOBIN = $(shell go env GOPATH)/bin

tools.get:
	go install github.com/mgechev/revive@latest

revive:
	$(GOBIN)/revive -config revive.toml -formatter friendly ./...

vet:
	go vet ./...

lint: vet revive
このスクラップは2023/03/11にクローズされました