durationcheck:进行linter检测持续时间值的错误乘法

时间:2024-05-29 12:56:39
【文件属性】:

文件名称:durationcheck:进行linter检测持续时间值的错误乘法

文件大小:12KB

文件格式:ZIP

更新时间:2024-05-29 12:56:39

go golang linter govet Go

持续时间检查 Go linter可以检测到两个时间time.Duration值以可能错误的方式相乘的情况。 例如,考虑以下(高度伪造的)函数: func waitFor ( someDuration time. Duration ) { timeToWait := someDuration * time . Second time . Sleep ( timeToWait ) } 尽管上面的代码可以正确编译,但其运行时行为几乎可以肯定是不正确的。 呼叫者可以合理地期望waitFor(5 * time.Seconds)等待waitFor(5 * time.Seconds)秒,但实际上他们最终将等待〜1,388,889小时。 上面的示例仅用于说明目的。 通过如此简单的功能,问题非常明显,即使是最环保的Gopher也会立即发现问题。 但是,请想象一个功能复杂得多,行数更多


【文件预览】:
durationcheck-master
----testdata()
--------src()
----cmd()
--------durationcheck()
----LICENSE(11KB)
----durationcheck.go(4KB)
----.gitignore(15B)
----.circleci()
--------config.yml(191B)
----Makefile(171B)
----go.sum(3KB)
----README.md(1KB)
----durationcheck_test.go(261B)
----go.mod(85B)

网友评论