rrrene/credo
GitHub: rrrene/credo
Elixir 语言的静态代码分析工具,专注于代码一致性检查和教学式改进建议。
Stars: 5144 | Forks: 436
# Credo [](https://github.com/rrrene/credo/actions?query=branch%3Amaster) [](https://hexdocs.pm/credo)
Credo 是一个针对 Elixir 语言的静态代码分析工具,专注于代码教学和一致性。
它可以向你展示代码中的重构机会、复杂的代码片段,针对常见错误向你发出警告,指出命名方案中的不一致之处,并在需要时帮助你强制执行所需的代码风格。

## 安装与使用
将 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依赖, 代码一致性, 代码审查, 代码规范, 威胁情报, 安全专业人员, 开发者工具, 教学工具, 数据管道, 编程教育, 软件工程, 重构建议, 错误基检测, 静态代码分析, 静态分析工具