durcheck
1.0.0
durcheck是一个非常简单的Linter,可以通过time.Duration来检测潜在的错误。
考虑以下代码:
func doInTime ( done chan struct {}) error {
select {
case <- time . After ( 60 ):
return errors . New ( "timeout" )
case <- done :
return nil
}
} time.After(60)之后,未构图的int实际上被转换为60纳秒。但是,程序员可能会错过它,或者来自PHP等语言的Golang Newcomer,在该语言中,睡眠功能具有签名int sleep ( int $seconds )可能会犯这样的错误。
在上面的代码上运行Linter将产生错误:
$ durcheck .
main.go:14:9: implicit time.Duration means nanoseconds in " time.After(60) " go get -u github.com/hypnoglow/durcheck
选项A:将这些参数传递给gometalinter命令:
gometalinter --linter=durcheck:durcheck:PATH:LINE:COL:MESSAGE --enable=durcheck ./...
选项B:将此配置添加到您的.gometalinter.json文件:
{
"Enable" : [
" durcheck "
],
"Linters" : {
"durcheck" : {
"Command" : " durcheck " ,
"Pattern" : " PATH:LINE:COL:MESSAGE "
}
}
}麻省理工学院