是否有类似Go语言的静态分析工具lint
,pylint
等?据我用谷歌搜索,我没有发现任何相关内容。
我可以在我所在部门担任本科高级项目。我必须确定它以前没有完成。任何帮助表示赞赏。
答案 0 :(得分:18)
Golint本周新发布:https://github.com/golang/lint
答案 1 :(得分:13)
答案 2 :(得分:9)
有一大堆具有不同输出类型的短绒。一些包括列偏移,一些不包括任何上下文等。
我已经编写了一个名为gometalinter的工具,可以安装,运行并规范我所知道的所有输出:
如果有任何短缺,我很乐意添加它们。
还有SublimeLinter plugin。
答案 3 :(得分:7)
在最新版本的go(1.3)中,godoc包含一些静态分析功能:
答案 4 :(得分:7)
答案 5 :(得分:2)
尝试megacheck。
带有Visual Studio Code的megacheck立即运行staticcheck,gosimple和unused。因为它能够重复使用工作,所以它比单独运行每个工具要快。
Go plugin得到了此linting工具的支持。要启用它,请导航到Visual Studio设置并将 go.lintTool 属性设置为 megacheck 。
{
"go.lintTool": "megacheck"
}
答案 6 :(得分:1)
2020年更新:gometalinter自2019年起已过时(详细信息here)
使用 golangci-lint 快速的Go linters奔跑者。
安装tutorials,例如通过Brew:
brew install golangci/tap/golangci-lint
brew upgrade golangci/tap/golangci-lint
检查:
golangci-lint version
从cli运行:
golangci-lint run
要从IDE中运行:将.golangci.yml
添加到您的项目中。
.golangci.yml
是一个配置文件,允许您仅在文件中配置特定于linters的选项,而不能在命令行中配置
答案 7 :(得分:0)
是的,Go 有多种静态代码分析工具,例如 DeepSource、Sonarcloud、Staticcheck 等。
如果您正在寻找一种可以轻松与 GitHub/GitLab/Bitbucket 上的项目集成并且可以让您持续分析项目的代码质量问题并自动修复大部分问题的工具,那么 DeepSource 就是回答。它还有像 Gofmt 这样的转换器,可以将代码格式化放在自动驾驶仪上。 它有一个单文件配置,需要几分钟才能开始。此外,您还可以使用它来跟踪测试覆盖率、文档覆盖率等指标。