Checks: - readability-* - modernize-* - performance-* - bugprone-* - -readability-identifier-length - -readability-magic-numbers - -bugprone-integer-division - -bugprone-easily-swappable-parameters - -bugprone-narrowing-conversions - -modernize-avoid-c-arrays,-warnings-as-errors WarningsAsErrors: '*' # Solo incluir archivos de tu código fuente (external tiene su propio .clang-tidy) # Excluye los headers SPIR-V generados en rendering/sdl3gpu/ HeaderFilterRegex: 'source/(?!external/|rendering/sdl3gpu/.*_spv\.h).*' FormatStyle: file CheckOptions: # bugprone-empty-catch: aceptar catches vacíos marcados con @INTENTIONAL en un comentario - { key: bugprone-empty-catch.IgnoreCatchWithKeywords, value: '@INTENTIONAL' } # 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 }