.deepsource.toml
configuration specific to the scala
analyzer. Please make sure to read the general configuration guide first.
name
enabled
meta
cyclomatic_complexity_threshold
low
will flag all functions that have a cyclomatic complexity of more than 5
, while setting the threshold to critical
will not flag any function.low
, medium
, high
, very-high
and critical
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. |
medium
sbt-jacoco
to your project by adding the following line to your project/plugins.sbt
:
sbt jacoco
to generate the coverage report. By default, you’ll find the report in /target/scala-{version}/jacoco/report
.
Note: To customize Jacoco’s coverage behavior, you’ll need to make changes to your build.sbt
. Refer to Jacoco’s documentation for more information.
Once you have a coverage report, you can upload it to DeepSource with the following commands:
scalafmt
.deepsource.toml
configuration specific to the scalafmt
transformer. Please make sure to read the general configuration guide first.
name
enabled