Go工程代码检查工具

Go工程代码检查工具

bodyclose

项目地址:https://github.com/timakin/bodyclose

一个用于检查http.Get()返回值有没有正确关闭问题:

resp, err := http.Get("http://example.com/")
if err != nil {
	// handle error
}
defer resp.Body.Close() // OK
body, err := ioutil.ReadAll(resp.Body)

deadcode

项目地址:https://github.com/remyoudompheng/go-misc/tree/master/deadcode

检查无用的变量声明工具。

depguard

项目地址:https://github.com/OpenPeeDeeP/depguard

通过自定义依赖包白、黑名单,确保import的包都是可控的。

errcheck

funlen

https://github.com/ultraware/funlen

用于检查函数长度,包括函数代码行数和语句行数。

gochecknoinits

goconst

gocognit

项目地址:https://github.com/uudashr/gocognit

用于检查代码复杂度,有点类似圈复杂度。

gocyclo

项目地址:https://github.com/fzipp/gocyclo

用于检查代码复杂度,类似于gocognit。

godox

goimports

golint

gosimple

项目地址:https://github.com/dominikh/go-tools/tree/master/simple

Dominik Honnef作品,用于检查可以优化的代码。

注:该工具已经整合到staticcheck中了。

govet

ineffassign

interfacer

lll

misspell

prealloc

scopelint

staticcheck

structcheck

typecheck

unconvert

unparam

unused

varcheck

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Go工程代码检查工具