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 "
}
}
}麻省理工學院