2026年最新清单:50+编程语言静态分析工具一图速查(analysis-tools.dev)
2026/9/19 20:10:02 网站建设 项目流程

2026年最新清单:50+编程语言静态分析工具一图速查(analysis-tools.dev)

【免费下载链接】static-analysis⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.项目地址: https://gitcode.com/gh_mirrors/st/static-analysis

📌 想快速找到静态分析工具?analysis-tools.dev(即本仓库)收录了覆盖 47 种编程语言和 40 余种配置文件、构建工具、云原生场景的 700+ 静态代码分析工具(SAST)与 linter,按语言分类整理,帮你 1 分钟定位适合项目的代码质量检查器。

这份静态分析工具清单有什么不一样?

市面上零散的工具列表很多,但这份清单的独特之处在于:

  • 覆盖广:从 Python、Java、Go 到 ABAP、Ada、Verilog 等冷门语言,连.env、Kubernetes、Dockerfile、Terraform 都有专区
  • 质量门槛:每个入选工具需满足「存在满 6 个月 + 20 个 star + 至少 2 名人类贡献者」,详见 CONTRIBUTING.md
  • 状态透明:过时工具会明确标记废弃,而非悄悄删除
  • 机器可读:除了 Markdown 清单,还输出 JSON API 供程序消费

三个符号,先读懂再查表 🔍

清单里每个工具旁可能出现 3 个特殊符号,理解它们能帮你避开踩坑:

符号含义新手建议
©商业/专有软件开源项目优先看其他选项
ℹ️社区不推荐新项目使用谨慎选型,可先看对应讨论
⚠️超一年未更新或已归档新项目不建议依赖

完整工具列表位于 README.md,由数据文件自动生成,请勿手动编辑。

50+ 语言静态分析工具一图速查表

以下是各语言的代表性工具速查(完整列表见 README.md 的对应章节):

语言代表工具一句话定位
Pythonruff、pylint、mypy、banditruff 极速 lint,mypy 类型检查,bandit 查安全
JavaScript/TypeScriptESLint、Biome、flow、JSLintESLint 生态最全,Biome 快且零配置
JavaError Prone、SpotBugs、checkstyle编译期抓错 + 字节码找 Bug + 规范检查
GoGolangCI-Lint、staticcheck、go vet、gosecGolangCI-Lint 聚合多 linter 一把梭
Rustclippy、cargo-audit、rustfmtclippy 是官方推荐的 lint 首选
C/C++cppcheck、clang-tidy、Coverity、CBMC嵌入式场景看 MISRA 支持
C#SonarAnalyzer.CSharp、Meziantou.Analyzer、ArchUnitNETRoslyn 分析器生态
PHPPHPStan、Psalm、PHPMD、rectorPHPStan 不开跑也能发现 Bug
RubyRuboCop、brakeman、SorbetRails 安全扫描首选 brakeman
Kotlindetekt、ktlint、ktfmt防 bikeshedding 的 Kotlin linter
Elixircredo、dialyxircredo 兼顾教学与一致性
HaskellHLint、Liquid Haskell类型精炼检查很独特
LualuacheckLua 静态分析标准配置
Erlangdialyzer、elvisdialyzer 无假阳性保证
FortranFortitude、fprettifyFortitude 基于 Ruff 构建
SwiftSwiftLint(见清单 Swift 章节)苹果生态规范检查

💡 查表小技巧:在 README.md 顶部的目录表格里点语言名即可跳转,「Show Deprecated」折叠区里还能看到历史工具,方便理解工具演进。

热门语言新手怎么选?3 条实操建议

1️⃣ Python:ruff 打底 + mypy 补类型 + bandit 查安全ruff.yml 数据文件中 ruff 被标注为「比现有 linter 快 10-100 倍」,新项目直接以它为核心即可。

2️⃣ Go:一个 GolangCI-Lint 顶十个清单里 Go 工具多达 40+ 个,新手不必逐个装——GolangCI-Lint 提供统一配置、缓存和输出格式,是官方推荐的聚合方案。

3️⃣ 前端:ESLint 生态 or Biome 一体化ESLint 的 YAML 数据文件里可以看到它附带官方教程视频和 Playground 等 resources 字段——这是清单的一个亮点:每个工具不仅给链接,还给教程、演示、第三方评价页。

不只是语言:配置文件与云原生专区 🚀

清单的「Other」分类同样实用,覆盖这些场景:

  • 基础设施:Kubernetes、Terraform、Dockerfile、Ansible、Prometheus
  • 配置文件:YAML、JSON、.env、Makefile、Protocol Buffers
  • Web 资产:HTML、CSS/SASS/SCSS、Markdown、LaTeX
  • 安全专项:Security/SAST 专区集中了 CodeQL、Coverity、Fortify 等深度扫描平台
  • 新兴方向:AI 生成代码分析(ai-generated-code标签)与调用 LLM 的分析工具(uses-llm标签)

分类标签统一维护在 data/tags.yml,新增工具时可从中选择标签。

幕后揭秘:YAML 数据 + Rust 渲染管线 ⚙️

本仓库的 README 完全由数据驱动,整体架构非常清爽:

data/tools/*.yml → Rust 渲染器(ci/render) → README.md + JSON API
  • 数据层:每个工具一个 YAML 文件,共 700+ 个,如 data/tools/eslint.yml 包含名称、标签、许可、描述、评价页与教程
  • 渲染层:Rust 编写的渲染器位于 ci/render/,核心逻辑在 ci/render/src/lib.rs,ci/render/src/lints.rs 负责校验数据合法性
  • 构建入口:Makefile 中的make render一键重新生成 README 与 data/api/ 下的 JSON 数据(含 tools.json 和 tags.json)
  • 模板层:README 的文案结构在 ci/render/templates/README.md,改模板而非改生成物

这种「数据即文档」的设计,也是它能为 analysis-tools.dev 网站持续供数的原因。

如何向清单贡献新工具?

想收录你发现的好工具?三步走:

  1. 先核对 CONTRIBUTING.md 的三条硬性标准(6 个月历史、20 star、2 名以上人类贡献者),不达标会被 CI 机器人礼貌关闭
  2. data/tools/下新建<toolname>.yml,描述控制在 500 字符内,尽量多选标签
  3. 本地执行make render自检后提交 PR;README 自动生成,不要手动编辑README.md

另外,data/collections/ 目录收录了兄弟合集(如 linters.yml 收录的静态代码分析入门系列),适合想系统学习静态分析的新手延伸阅读。

快速上手:把清单拉到本地

git clone https://gitcode.com/gh_mirrors/st/static-analysis cd static-analysis

打开 README.md 即可按语言速查;需要程序化获取工具数据时,直接使用 data/api/tools.json。

总结

这份清单的价值在于:用统一的筛选标准 + 透明的废弃标记 + 机器可读的 JSON 输出,把「选 linter」这件碎片化的事变成查表就能完成的操作。无论你是接手新项目要搭 CI 检查,还是想给团队定代码规范,从语言速查表入手,10 分钟内就能锁定 1-3 个合适的静态分析工具。🎯

【免费下载链接】static-analysis⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.项目地址: https://gitcode.com/gh_mirrors/st/static-analysis

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询