# https://github.com/arturbosch/detekt/blob/e38c02e2ed1c90cc7e052945b1c584153dba6c28/detekt-cli/src/main/resources/default-detekt-config.yml complexity: active: true ComplexCondition: active: true threshold: 3 ComplexInterface: active: true threshold: 10 includeStaticDeclarations: false ComplexMethod: active: true threshold: 10 LabeledExpression: active: true LargeClass: active: true threshold: 150 LongMethod: active: true threshold: 20 LongParameterList: active: true threshold: 5 ignoreDefaultParameters: true MethodOverloading: active: true threshold: 5 NestedBlockDepth: active: true threshold: 3 StringLiteralDuplication: active: true threshold: 2 ignoreAnnotation: true excludeStringsWithLessThan5Characters: true ignoreStringsRegex: '$^' TooManyFunctions: active: true thresholdInFiles: 10 thresholdInClasses: 10 thresholdInInterfaces: 10 thresholdInObjects: 10 thresholdInEnums: 10 empty-blocks: active: true EmptyClassBlock: active: true EmptyDefaultConstructor: active: true EmptyDoWhileBlock: active: true EmptyElseBlock: active: true EmptyFinallyBlock: active: true EmptyForBlock: active: true EmptyFunctionBlock: active: true EmptyIfBlock: active: true EmptyInitBlock: active: true EmptyKtFile: active: true EmptySecondaryConstructor: active: true EmptyWhenBlock: active: true EmptyWhileBlock: active: true exceptions: active: true ExceptionRaisedInUnexpectedLocation: active: true methodNames: 'toString,hashCode,equals,finalize' InstanceOfCheckForException: active: true NotImplementedDeclaration: active: true RethrowCaughtException: active: true ReturnFromFinally: active: true SwallowedException: active: true ThrowingExceptionFromFinally: active: true ThrowingExceptionInMain: active: true ThrowingExceptionsWithoutMessageOrCause: active: true exceptions: 'IllegalArgumentException,IllegalStateException,IOException' ThrowingNewInstanceOfSameException: active: true TooGenericExceptionCaught: active: true exceptions: - ArrayIndexOutOfBoundsException - Error - Exception - IllegalMonitorStateException - NullPointerException - IndexOutOfBoundsException - RuntimeException - Throwable TooGenericExceptionThrown: active: true exceptions: - Error - Exception - NullPointerException - Throwable - RuntimeException naming: active: true ClassNaming: active: true classPattern: '[A-Z$][a-zA-Z0-9$]*' EnumNaming: active: true enumEntryPattern: '^[A-Z][_A-Z0-9]*$' ForbiddenClassName: active: true forbiddenName: '' FunctionMaxLength: active: true maximumFunctionNameLength: 30 FunctionMinLength: active: true minimumFunctionNameLength: 3 FunctionNaming: active: true functionPattern: '^([a-z$][a-zA-Z$0-9]*)|(`.*`)$' MatchingDeclarationName: active: true ObjectPropertyNaming: active: true propertyPattern: '[A-Za-z][_A-Za-z0-9]*' PackageNaming: active: true packagePattern: '^[a-z]+(\.[a-z][a-z0-9]*)*$' TopLevelPropertyNaming: active: true constantPattern: '[A-Z][_A-Z0-9]*' propertyPattern: '[a-z][A-Za-z\d]*' privatePropertyPattern: '(_)?[a-z][A-Za-z0-9]*' VariableMaxLength: active: true maximumVariableNameLength: 64 VariableMinLength: active: true minimumVariableNameLength: 1 VariableNaming: active: true variablePattern: '[a-z][A-Za-z0-9]*' privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*' performance: active: true ForEachOnRange: active: true SpreadOperator: active: true UnnecessaryTemporaryInstantiation: active: true potential-bugs: active: true DuplicateCaseInWhenExpression: active: true EqualsAlwaysReturnsTrueOrFalse: active: true EqualsWithHashCodeExist: active: true ExplicitGarbageCollectionCall: active: true InvalidRange: active: true IteratorHasNextCallsNextMethod: active: true IteratorNotThrowingNoSuchElementException: active: true UnconditionalJumpStatementInLoop: active: true UnreachableCode: active: true UselessPostfixExpression: active: true WrongEqualsTypeParameter: active: true style: active: true CollapsibleIfStatements: active: true DataClassContainsFunctions: active: true conversionFunctionPrefix: 'to' EqualsNullCall: active: true ExpressionBodySyntax: active: true ForbiddenComment: active: true values: 'TODO:,FIXME:,STOPSHIP:' ForbiddenImport: active: true imports: '' FunctionOnlyReturningConstant: active: true ignoreOverridableFunction: true excludedFunctions: 'describeContents' LoopWithTooManyJumpStatements: active: true maxJumpCount: 1 MaxLineLength: active: true maxLineLength: 120 excludePackageStatements: false excludeImportStatements: false ModifierOrder: active: true NestedClassesVisibility: active: true NewLineAtEndOfFile: active: true OptionalAbstractKeyword: active: true OptionalUnit: active: true OptionalWhenBraces: active: true ProtectedMemberInFinalClass: active: true RedundantVisibilityModifierRule: active: true SafeCast: active: true SerialVersionUIDInSerializableClass: active: true SpacingBetweenPackageAndImports: active: true ThrowsCount: active: true max: 2 UnnecessaryAbstractClass: active: true UnnecessaryInheritance: active: true UnnecessaryParentheses: active: true UntilInsteadOfRangeTo: active: true UnusedImports: active: true UtilityClassWithPublicConstructor: active: true