status-go/.codeclimate.yml

56 lines
1.9 KiB
YAML

version: "2" # required to adjust maintainability checks
checks:
# Methods or functions defined with a high number of arguments
argument-count:
config:
threshold: 6
# Boolean logic that may be hard to understand
complex-logic:
config:
threshold: 4
# Excessive lines of code within a single file
file-lines:
config:
threshold: 900
# Functions or methods that may be hard to understand. This is disabled as it doesn't appear to be a reliable metric.
method-complexity:
enabled: false
# Classes defined with a high number of functions or methods.
method-count:
config:
threshold: 21
# Excessive lines of code within a single function or method
method-lines:
config:
threshold: 500
# Deeply nested control structures like if or case
nested-control-flow:
config:
threshold: 4
# Functions or methods with a high number of return statements. This is disabled because Go encourages early returns.
return-statements:
enabled: false
# Duplicate code which is not identical but shares the same structure (e.g. variable names may differ). This is disabled due to too many false trips.
similar-code:
enabled: false
# Code that is identical in structure
identical-code:
config:
threshold: # language-specific defaults. an override will affect all languages.
exclude_patterns:
- "vendor/"
- "static/"
- "t/"
- "mailserver/migrations"
- "**/*/bindata.go"
- "protocol/protobuf/*.pb.go"
- "protocol/communities/migrations/migrations.go"
- "protocol/encryption/migrations/migrations.go"
- "protocol/internal/sqlite/migrations.go"
- "protocol/migrations/migrations.go"
- "protocol/pushnotificationclient/migrations/migrations.go"
- "protocol/pushnotificationserver/migrations/migrations.go"
- "protocol/transport/migrations/migrations.go"
- "protocol/encryption/protocol_message.pb.go"
- "images/qr-assets.go"