golangci-lint (golangci/golangci-lint)
Searching Database…
19.4K ·GitHub
这是什么?
一个快速的 Go 代码检查工具:只用一个工具,就能一次性对你的代码库运行上百个 Go linter。
它是一个单独的 linter,还是很多 linter 的集合?
它是一个运行器,集成了上百个现有的 Go linter,所以只需安装和配置一次,就能取代一大堆单独的工具。
怎么把它装到我的电脑上,并接入我的 CI?
安装文档提供了两条路径:一条是针对你自己的电脑的指南,另一条是专门针对 CI/CD 系统的指南,完整文档托管在它自己的网站上。
除了我的 Go 项目,运行它还需要别的东西吗?
不需要任何其他东西——不需要 API 密钥、账号或额外的服务;它直接分析你的项目。
在采用它之前,有什么需要留意的坑?
它只支持 Go——不能检查其他语言,README 里也没有列出特殊的硬件或操作系统要求。
它可以免费使用吗,包括在公司里用?
可以——它是基于 GPL-3.0 的免费开源软件(根据仓库元数据),由接受捐赠的志愿者开发;GPL 只约束这个工具本身,不影响它检查的代码。
怎么选择运行哪些 linter?
所有配置都在一个 YAML 文件里完成——你在那里启用和调整各个 linter,不用逐个搭建每样工具。
同时跑上百个 linter 会不会拖慢我的构建?
不会——各个 linter 并行运行,结果还会缓存,因此完整跑一遍的速度足以满足本地运行和 CI 的需要。
检查出的问题能直接显示在我的编辑器里吗?
能——它支持所有主流 IDE,你写代码时就能看到问题,而不用等到 CI 日志里才发现。
这个项目还在积极维护吗?
是的——项目始于 2018 年,在 GitHub 上大约有 19,400 颗星,仓库还配置了自动化的 CI 检查和发布流程。
What are similar projects?
shellcheck, knip, perch, hadolint, rust-clippy, mypy, kani, static-analysis
Which topics is it in?
code-analysis, linter, code-quality, static-analysis, ci, golang, devops, gplv3, performance, go, free, tool