Consider adding a Clang-Tidy configuration to enforce some coding conventions
Ya se ha fusionado un pull request relacionado.
- #345 de @walbourn — fusionado
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Empieza revisando el pull request abierto #345 y la configuración actual de EditorConfig y estilo de código del repositorio. Compara las comprobaciones de nombres propuestas para Clang-Tidy y las posibles reglas de Clang-Format con las convenciones existentes del proyecto; se considera terminado cuando se haya añadido la configuración acordada sin entrar en conflicto con las herramientas actuales.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Take your project DirectXTK as an example, in which you have set these conventions:
PascalCase for class names, methods, functions, and enums.
camelCase for class member variables, struct members
UPPERCASE for preprocessor defines (and nameless enums)
To enforce these naming conventions, you can add readability-* to the checks as shown below:
Checks: >
-*,
readability-*
Then add some of these check options:
CheckOptions:
readability-identifier-naming.ClassCase: 'CamelCase'
readability-identifier-naming.ClassMethodCase: 'CamelCase'
readability-identifier-naming.FunctionCase: 'CamelCase'
readability-identifier-naming.EnumCase: 'CamelCase'
readability-identifier-naming.ClassMemberCase: 'camelBack'
readability-identifier-naming.MemberCase: 'camelBack'
readability-identifier-naming.MacroDefinitionCase: 'UPPER_CASE'
readability-identifier-naming.EnumConstantCase: 'UPPER_CASE'
Microsoft Visual Studio supports Clang-Tidy and Clang-Format out of the box.
P.S.: while EditorConfig is fine, I think you can enforce more specific code-style conventions, such as east const and west const with Clang-Format.
Using Clang-Tidy (and perhaps also Clang-Format) could help maintain greater code consistency.
Reference:
- Lenguaje dominante
- C++
- Estrellas
- 1.8k
- Forks
- 262
- Merge medio
- 3 d 21 h
- PR fusionados (30 d)
- 7
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/DirectXMath
-
DirectXMath as a C++ moduleAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
microsoft/DirectXMath#349 ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
microsoft/DirectXMath#328 ·
-
simplemath
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
microsoft/DirectXMath#327 · 1 comentario ·
-
Project feedbackAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
microsoft/DirectXMath#326 · 2 comentarios ·
-
arm64 maintenance
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
microsoft/DirectXMath#309 ·
Todos los issues de microsoft/DirectXMath
Issues similares
-
bug chart-audit
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
godotengine/godot#124120 ·
Los mantenedores suelen responder en 1 día
-
Component: R Type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/arrow#51695 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
HasBacktrace Priority-Critical
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
azerothcore/azerothcore-wotlk#27921 ·
Los mantenedores suelen responder en 1 día
-
area/ysql kind/bug priority/medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
yugabyte/yugabyte-db#34584 ·
Los mantenedores suelen responder en 1 día