durcheck
1.0.0
durcheck time.Duration 지남에 따라 잠재적 인 버그를 감지하는 매우 간단한 라이터입니다.
다음 코드를 고려하십시오.
func doInTime ( done chan struct {}) error {
select {
case <- time . After ( 60 ):
return errors . New ( "timeout" )
case <- done :
return nil
}
} time.After(60) , (60), Untyped Int가 실제로 60 나노초로 변환됩니다. 그러나 프로그래머는 그것을 놓칠 수 있거나 Sleep Function에 Signature int sleep ( int $seconds ) 가있는 PHP와 같은 언어의 Golang Newcomer는 그러한 실수를 할 수 있습니다.
위의 코드에 대해 라이터를 실행하면 오류가 발생합니다.
$ 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 "
}
}
}MIT