goreporter
Golang 工具,用于执行静态分析,单元测试,代码审查和生成代码质量报告。 这是一个工具,它可以并发地运行一大堆这样的 linters,并将它们的输出规范化为一个报告。
支持的 linters
- gofmt -- 检查代码是否正确格式化,并且无法进一步简化。
 - govet -- 报告可能无意中隐藏的变量。
 - golint -- Golint 是 Go 源代码的 linter
 - unittest -- Golang 单元测试状态。
 - deadcode -- 发现未使用的代码。
 - gocyclo -- 计算函数的圈复杂度。
 - varcheck -- 查找未使用的全局变量和常量。
 - structcheck -- 查找未使用的结构字段。
 - aligncheck -- 警告非最佳对齐结构。
 - errcheck -- 检查是否使用了错误返回值。
 copycode(dupl) - Reports potentially duplicated code.- gosimple -- 报告代码的简化。
 - staticcheck -- 静态地检测 bug,包括明显的和细微的 bug。
 - godepgraph -- Godepgraph 是一个生成 Go 包依赖关系图的程序。
 - misspell -- 纠正英语中常见的拼写错误…很快。
 - countcode -- 计算项目行数和文件数。
 - interfacer -- 建议使用更窄的接口。
 - depth -- 计算 go 函数的 maxdepth。
 - flen -- Flen 在 Golang 包中提供了 functions methods 长度的统计信息。
 
模板
可以通过 -t 
待办事项清单
- 此版本将重新设计模板。
 - 添加 interfacer 和 safesql 和 gofmt(-s),govet linter。
 
安装
要求
快速开始
安装 goreporter(见上文)。
go get -u github.com/360EntSecGroup-Skylar/goreporter
运行:
注意
您必须确认您的项目是否正常运行。 特别是 vendor 的问题,当在默认路径中找不到包时,goreporter 将再次从可能的 vendor 路径中查找。
goreporter -p [projectRelativePath] -r [reportPath] -e [exceptPackagesName] -f [json/html/text]  {-t templatePathIfHtml}
- -version GoReporter 的版本。
 - -p 必须是一个有效的 Golang 项目路径。
 - -r 保存到报表的路径。
 - -e 异常包(多个包之间用逗号分隔,例如:"linters/aligncheck,linters/cyclo")。
 - -f 报告格式 json、html 或 text。
 - -t 模板路径,如果没有指定,将使用默认模板。
 
默认情况下,默认模板用于生成 html 格式的报告。
你可以看到结果细节:在线示例报告
致谢
徽标由 Ri Xu 设计。
(First edition: vz edited at 2019.08.23)

