Code Analysis
.deepsource.toml
This section covers.deepsource.toml configuration specific to the cxx analyzer. Please make sure to read the general configuration guide first.
name
- Type: String
- Presence: mandatory
- Description: Shortcode of the analyzer.
- Example:
enabled
- Type: Boolean
- Presence: optional
- Description: Toggle whether this analyzer should be run.
- Example:
meta
- Type: Table
- Presence: optional
- Description: Any supported metadata to pass to the analyzer.
- Example:
misra_compliance
- Type: Boolean
- Presence: optional
- Description: Enables MISRA-C issues for linting on the given source code.
- Default Value:
false - Example:
cyclomatic_complexity_threshold
- Type: String
- Presence: optional
- Description: Specify the acceptable risk category for your project as the threshold. All functions with complexity beyond this threshold will raise an issue. For example, setting the threshold to
lowwill flag all functions that have a cyclomatic complexity of more than5, while setting the threshold tocriticalwill not flag any function. - Available Values:
low,medium,high,very-highandcritical
| Risk category | Cyclomatic complexity range | Recommended action |
|---|---|---|
| low | 1-5 | No action is needed. |
| medium | 6-15 | Review and monitor. |
| high | 16-25 | Review and refactor. Recommended to add detailed comments if the function absolutely needs to be kept as it is. |
| very-high | 26-50 | Refactor to reduce the complexity. |
| critical | >50 | Must refactor this. This can make the code untestable and very difficult to understand. |
- Default Value:
very-high - Example:
Sample config
Code Coverage
GCC & LCOV
Here are the steps to generate and report C/C++ coverage data:Code Formatters
The configuration key
code_formatters replaces the legacy transformers key. Both keys are supported for backward compatibility.clang-format
Format all incoming C and C++ code with clang-format. Documentation for clang-format configurations can be found at clang-format docs.
This section covers .deepsource.toml configuration specific to the clang-format code formatter. Please make sure to read the general configuration guide first.
name
- Type: String
- Presence: mandatory
- Description: Shortcode of this code formatter.
- Example:
enabled
- Type: Boolean
- Presence: optional
- Description: Toggle whether this code formatter should be run.
- Example: