# Конфигурация detekt для LMS. Значения подобраны под текущий стиль кода: # базовые правила включены (buildUponDefaultConfig = true), шумные отключены или ослаблены. build: maxIssues: 0 weights: {} config: validation: true warningsAsErrors: false complexity: # Все правила сложности — строго на значениях detekt по умолчанию. Крупные агрегаты # раздроблены: ApiClient — по доменам, AdminController — AdminSupport + 5 контроллеров, # импорт — ContentImporter, авторинг/порядок и оценки — отдельные сервисы, submissions — # отдельный контроллер; MVC-формы связаны через @ModelAttribute-DTO. LongMethod: threshold: 60 LongParameterList: functionThreshold: 6 constructorThreshold: 7 ignoreDefaultParameters: true TooManyFunctions: thresholdInFiles: 20 thresholdInClasses: 20 thresholdInInterfaces: 20 thresholdInObjects: 20 thresholdInEnums: 20 LargeClass: threshold: 600 ComplexCondition: threshold: 4 CyclomaticComplexMethod: threshold: 15 style: MagicNumber: active: false MaxLineLength: active: false ReturnCount: max: 4 WildcardImport: active: true UnusedPrivateMember: active: true LoopWithTooManyJumpStatements: maxJumpCount: 2 # MVC-контроллеры возвращают имя шаблона — это не «магическая константа». FunctionOnlyReturningConstant: ignoreAnnotated: - 'GetMapping' - 'PostMapping' performance: # runApplication(*args) — идиоматичная точка входа Spring Boot. SpreadOperator: active: false naming: FunctionNaming: ignoreAnnotated: - 'Test' MatchingDeclarationName: active: false # Enum-значения хранятся в БД и API строками в lowerCamelCase. EnumNaming: active: false empty-blocks: EmptyCatchBlock: allowedExceptionNameRegex: 'ignored|expected|_'