rrrene/credo

GitHub: rrrene/credo

Elixir 语言的静态代码分析工具,专注于代码一致性检查和教学式改进建议。

Stars: 5144 | Forks: 436

# Credo [![CI Tests](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6bb985c9cd075841.svg)](https://github.com/rrrene/credo/actions?query=branch%3Amaster) [![Inline docs](https://inch-ci.org/github/rrrene/credo.svg?branch=master)](https://hexdocs.pm/credo) Credo 是一个针对 Elixir 语言的静态代码分析工具,专注于代码教学和一致性。 它可以向你展示代码中的重构机会、复杂的代码片段,针对常见错误向你发出警告,指出命名方案中的不一致之处,并在需要时帮助你强制执行所需的代码风格。 ![Credo](https://raw.github.com/rrrene/credo/master/assets/screenshot.png) ## 安装与使用 将 Credo 添加到你的项目中最简单的方法是[使用 Mix](http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html)。 将 `:credo` 作为依赖项添加到你的项目的 `mix.exs` 中: ``` defp deps do [ {:credo, "~> 1.7", only: [:dev, :test], runtime: false} ] end ``` 然后运行: ``` $ mix deps.get $ mix credo ``` ## 文档 文档[可在 Hexdocs 上获取](https://hexdocs.pm/credo/) ## 集成 ### IDE/编辑器 一些 IDE 和编辑器能够在后台运行 Credo 并以内联方式标记问题。 * [IntelliJ Elixir](https://github.com/KronicDeth/intellij-elixir#credo) - 用于 JetBrains IDE(IntelliJ IDEA, Rubymine, PHPStorm, PyCharm 等)的 Elixir 插件 * [linter-elixir-credo](https://atom.io/packages/linter-elixir-credo) - Atom 编辑器软件包 (作者 @smeevil) * [Elixir Linter (Credo)](https://marketplace.visualstudio.com/items?itemName=pantajoe.vscode-elixir-credo) - VSCode 扩展 (作者 @pantajoe) * [flycheck](https://www.flycheck.org/en/latest/languages.html#elixir) - Emacs 语法检查扩展 * [kakoune](https://github.com/mawww/kakoune/wiki/Lint#elixir) - Kakoune 编辑器中用于 linting 支持的配置 * [Neovim via null-ls](https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/lua/null-ls/builtins/diagnostics/credo.lua) - 内置诊断功能 ### 自动化代码审查 * [Codacy](https://www.codacy.com/) - 检查你的代码,从风格到安全性、重复、复杂性,并且还集成了覆盖率。 ## 贡献 1. [Fork it!](http://github.com/rrrene/credo/fork) 2. 创建你的功能分支 (`git checkout -b my-new-feature`) 3. 提交你的更改 (`git commit -am 'Add some feature'`) 4. 推送到该分支 (`git push origin my-new-feature`) 5. 创建新的 Pull Request ## 作者 René Föhring (@rrrene) ## 许可证 Credo 是在 MIT 许可证下发布的。有关更多详细信息,请参阅 LICENSE 文件。
标签:Bug检测, DevOps工具, Elixir, IDE插件, Lint工具, LNA, Mix依赖, 代码一致性, 代码审查, 代码规范, 威胁情报, 安全专业人员, 开发者工具, 教学工具, 数据管道, 编程教育, 软件工程, 重构建议, 错误基检测, 静态代码分析, 静态分析工具