durcheck
1.0.0
durcheck é um linhador muito simples que detecta bugs em potencial com time.Duration Duração em um pacote Go.
Considere o seguinte código:
func doInTime ( done chan struct {}) error {
select {
case <- time . After ( 60 ):
return errors . New ( "timeout" )
case <- done :
return nil
}
} Obviamente, existe um problema com time.After(60) , onde o Int não é realmente convertido em 60 nanossegundos. Mas um programador pode perder isso, ou um recém -chegado de Golang de idiomas como o PHP, onde a função do sono tem assinatura int sleep ( int $seconds ) pode cometer esse erro.
Executar o linhador em relação ao código acima produzirá um erro:
$ durcheck .
main.go:14:9: implicit time.Duration means nanoseconds in " time.After(60) " go get -u github.com/hypnoglow/durcheck
Opção A: Passe esses argumentos para o comando gometalinter :
gometalinter --linter=durcheck:durcheck:PATH:LINE:COL:MESSAGE --enable=durcheck ./...
Opção B: Adicione esta configuração ao seu arquivo .gometalinter.json :
{
"Enable" : [
" durcheck "
],
"Linters" : {
"durcheck" : {
"Command" : " durcheck " ,
"Pattern" : " PATH:LINE:COL:MESSAGE "
}
}
}Mit