clang-tidy vs Credo
clang-tidy
clang.llvm.orgCredo
credo.hexdocs.pmSide by side
| Figure | clang-tidy | Credo |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Linux | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Linters | 8.5 (#4) | 7.8 (#15) |
| Checks | It provides its own checks and can also run Clang Static Analyzer checks. | Built-in checks cover consistency, design, readability, refactoring, and warnings, and low-priority checks can be included with strict analysis. |
| Configuration | Checks can be selected with comma-separated positive and negative globs, and configuration can be read from a .clang-tidy file. | Credo uses a `.credo.exs` configuration file that can be placed in the project root or its `config/` folder. |
| Custom checks | The tool provides an interface for writing custom checks, which can use preprocessor callbacks or AST matchers and attach fix-it hints to diagnostics. | Users can add project or domain specific checks by implementing the `Credo.Check` behavior and configuring the check. |
| License | The LLVM project states that its code is licensed under the Apache 2.0 License with LLVM exceptions. | Credo is released under the MIT License. |
| Purpose | clang-tidy is a Clang-based C++ linter for diagnosing and fixing typical programming errors, including style violations, interface misuse, and bugs detectable by static analysis. | Credo is a static code analysis tool for Elixir focused on code consistency and teaching. |
Plans
In their own words
clang-tidy
clang-tidy has no write-up on Specifiction yet; its figures are above.