Cambios aplicados: - readability-braces-around-statements (añadir llaves en ifs/fors) - readability-implicit-bool-conversion (puntero → bool explícito) - readability-container-size-empty (.empty() en lugar de .size()==0) - readability-container-contains (.contains() C++20) - readability-make-member-function-const (métodos const) - readability-else-after-return (5 casos adicionales) - Añadido #include <cmath> en defaults.hpp Checks excluidos (justificados): - identifier-naming: Cascada de 300+ cambios - identifier-length: Nombres cortos son OK en este proyecto - magic-numbers: Demasiados falsos positivos - convert-member-functions-to-static: Rompe encapsulación - use-anyofallof: C++20 ranges no universal - function-cognitive-complexity: Complejidad aceptable - clang-analyzer-security.insecureAPI.rand: rand() suficiente para juegos
97 lines
4.5 KiB
YAML
97 lines
4.5 KiB
YAML
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)
|
|
# ✅ Check 7: readability-* (225 fixes aplicados)
|
|
- readability-*
|
|
- -readability-identifier-naming # Excluido (cascada de cambios)
|
|
- -readability-identifier-length # Excluido (nombres cortos son OK)
|
|
- -readability-magic-numbers # Excluido (muchos falsos positivos)
|
|
- -readability-convert-member-functions-to-static # Excluido (rompe encapsulación)
|
|
- -readability-use-anyofallof # Excluido (C++20 ranges - no todos los compiladores)
|
|
- -readability-function-cognitive-complexity # Excluido (complejidad ciclomática aceptable)
|
|
- -clang-analyzer-security.insecureAPI.rand # Excluido (rand() es suficiente para juegos)
|
|
# - 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 }
|