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) , где нетипресс -int фактически преобразуется в 60 наносекунд. Но программист может пропустить его, или новичок Golang из таких языков, как PHP, где функция сна имеет подпись 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 "
}
}
}Грань