Metrics

Complexity Report

Findings

Total: 356

complexity: 14

ComplexCondition: 1 Complex conditions should be simplified and extracted into well-named methods if necessary. Documentation
CyclomaticComplexMethod: 5 Prefer splitting up complex methods into smaller, easier to test methods. Documentation
LongMethod: 4 One method should have one responsibility. Long methods tend to handle many things at once. Prefer smaller methods to make them easier to understand. Documentation
TooManyFunctions: 4 Too many functions inside a/an file/class/object/interface always indicate a violation of the single responsibility principle. Maybe the file/class/object/interface wants to manage too many things at once. Extract functionality which clearly belongs together. Documentation

empty-blocks: 4

EmptyDefaultConstructor: 3 Empty block of code detected. As they serve no purpose they should be removed. Documentation
EmptyFunctionBlock: 1 Empty block of code detected. As they serve no purpose they should be removed. Documentation

exceptions: 69

SwallowedException: 27 The caught exception is swallowed. The original exception could be lost. Documentation
TooGenericExceptionCaught: 42 The caught exception is too generic. Prefer catching specific exceptions to the case that is currently handled. Documentation

naming: 22

InvalidPackageDeclaration: 1 Kotlin source files should be stored in the directory corresponding to its package statement. Documentation
MatchingDeclarationName: 2 If a source file contains only a single non-private top-level class or object, the file name should reflect the case-sensitive name plus the .kt extension. Documentation
MemberNameEqualsClassName: 18 A member should not be given the same name as its parent class or object. Documentation
VariableNaming: 1 Variable names should follow the naming convention set in the projects configuration. Documentation

performance: 2

SpreadOperator: 2 In most cases using a spread operator causes a full copy of the array to be created before calling a method. This may result in a performance penalty. Documentation

style: 245

MagicNumber: 67 Report magic numbers. Magic number is a numeric literal that is not defined as a constant and hence it's unclear what the purpose of this number is. It's better to declare such numbers as constants and give them a proper name. By default, -1, 0, 1, and 2 are not considered to be magic numbers. Documentation
MaxLineLength: 39 Line detected, which is longer than the defined maximum line length in the code style. Documentation
NewLineAtEndOfFile: 51 Checks whether files end with a line separator. Documentation
OptionalAbstractKeyword: 1 Unnecessary abstract modifier in interface detected. This abstract modifier is unnecessary and thus can be removed. Documentation
ReturnCount: 16 Restrict the number of return statements in methods. Documentation
UnusedParameter: 2 Function parameter is unused and should be removed. Documentation
UseCheckOrError: 1 Use check() or error() instead of throwing an IllegalStateException. Documentation
WildcardImport: 68 Wildcard imports should be replaced with imports using fully qualified class names. Wildcard imports can lead to naming conflicts. A library update can introduce naming clashes with your classes which results in compilation errors. Documentation
generated with detekt version 1.23.8 on 2026-03-09 12:16:02 UTC.