Checks: # Estrategia: Habilitar checks uno por uno, aplicar fix, compilar, commit # ✅ Check 1: readability-uppercase-literal-suffix (1.0f → 1.0F) # ✅ Check 2: readability-math-missing-parentheses (claridad en ops matemáticas) # ✅ Check 3: readability-identifier-naming (DESHABILITADO temporalmente - cascada de cambios) # ✅ Check 4: readability-const-return-type (código ya cumple) # ✅ Check 5: readability-else-after-return (código ya cumple) # ✅ Check 6: readability-simplify-boolean-expr (código ya cumple) - readability-uppercase-literal-suffix - readability-math-missing-parentheses #- readability-identifier-naming # TEMP DISABLED - readability-const-return-type - readability-else-after-return - readability-simplify-boolean-expr # TODO: Habilitar gradualmente # - readability-* # - modernize-* # - performance-* # - bugprone-unchecked-optional-access # - bugprone-sizeof-expression # - bugprone-suspicious-missing-comma # - bugprone-suspicious-index # - bugprone-undefined-memory-manipulation # - bugprone-use-after-move # - bugprone-out-of-bound-access # - -bugprone-narrowing-conversions # - -performance-enum-size # - -performance-inefficient-string-concatenation # - -bugprone-integer-division # - -bugprone-easily-swappable-parameters # - -modernize-avoid-c-arrays,-warnings-as-errors WarningsAsErrors: '*' # No usar HeaderFilterRegex - usamos .clang-tidy local en source/core/audio/ para excluir FormatStyle: file CheckOptions: # Variables locales en snake_case - { key: readability-identifier-naming.VariableCase, value: lower_case } # Miembros privados en snake_case con sufijo _ - { key: readability-identifier-naming.PrivateMemberCase, value: lower_case } - { key: readability-identifier-naming.PrivateMemberSuffix, value: _ } # Miembros protegidos en snake_case con sufijo _ - { key: readability-identifier-naming.ProtectedMemberCase, value: lower_case } - { key: readability-identifier-naming.ProtectedMemberSuffix, value: _ } # Miembros públicos en snake_case (sin sufijo) - { key: readability-identifier-naming.PublicMemberCase, value: lower_case } # Namespaces en CamelCase - { key: readability-identifier-naming.NamespaceCase, value: CamelCase } # Variables estáticas privadas como miembros privados - { key: readability-identifier-naming.StaticVariableCase, value: lower_case } - { key: readability-identifier-naming.StaticVariableSuffix, value: _ } # Constantes estáticas sin sufijo - { key: readability-identifier-naming.StaticConstantCase, value: UPPER_CASE } # Constantes globales en UPPER_CASE - { key: readability-identifier-naming.GlobalConstantCase, value: UPPER_CASE } # Variables constexpr globales en UPPER_CASE - { key: readability-identifier-naming.ConstexprVariableCase, value: UPPER_CASE } # Constantes locales en UPPER_CASE - { key: readability-identifier-naming.LocalConstantCase, value: UPPER_CASE } # Constexpr miembros en UPPER_CASE (sin sufijo) - { key: readability-identifier-naming.ConstexprMemberCase, value: UPPER_CASE } # Constexpr miembros privados/protegidos con sufijo _ - { key: readability-identifier-naming.ConstexprMethodCase, value: UPPER_CASE } # Clases, structs y enums en CamelCase - { key: readability-identifier-naming.ClassCase, value: CamelCase } - { key: readability-identifier-naming.StructCase, value: CamelCase } - { key: readability-identifier-naming.EnumCase, value: CamelCase } # Valores de enums en UPPER_CASE - { key: readability-identifier-naming.EnumConstantCase, value: UPPER_CASE } # Métodos en camelBack (sin sufijos) - { key: readability-identifier-naming.MethodCase, value: camelBack } - { key: readability-identifier-naming.PrivateMethodCase, value: camelBack } - { key: readability-identifier-naming.ProtectedMethodCase, value: camelBack } - { key: readability-identifier-naming.PublicMethodCase, value: camelBack } # Funciones en camelBack - { key: readability-identifier-naming.FunctionCase, value: camelBack } # Parámetros en lower_case - { key: readability-identifier-naming.ParameterCase, value: lower_case }