Microsoft-ui-xaml: Pregunta: ¿Por qué no hay analizadores de código (o linters) para la base de código?

Creado en 25 jul. 2019  ·  3Comentarios  ·  Fuente: microsoft/microsoft-ui-xaml

Según la cantidad de comentarios en este PR que tratan sobre el estilo básico y el formato de código, me sorprendió ver que no hay analizadores (o equivalentes) configurados para verificar automáticamente problemas como el uso de espacios en blanco o convenciones de nomenclatura.

¿Hay alguna razón por la que no se puedan agregar?

Habría dos beneficios inmediatos:

  1. El código se formateará de manera coherente, lo que ayuda con la lectura, la comprensión y el mantenimiento.
  2. Significaría que las revisiones de código no se distraen con problemas triviales y pueden centrarse en el código. Esto puede reducir la cantidad de comentarios de código y evitar que temas valiosos se pierdan entre múltiples discusiones sobre líneas en blanco.

La desventaja de agregar estas verificaciones automáticas de formato puede ser que el código existente no cumple con ningún conjunto de reglas y, por lo tanto, activarlo marcaría una gran cantidad de problemas.
Si ese es el caso, las reglas podrían activarse (o agregarse analizadores) cuando un proyecto se cambie (o agregue) de otro modo, por lo que no todo se hace a la vez.
Alternativamente, las inconsistencias de formato son normalmente fáciles de corregir y, por lo tanto, es posible que solo tome unas pocas horas (según mis experiencias pasadas con otros proyectos grandes) para abordar lo que se encuentra, ya que las herramientas normalmente pueden corregir automáticamente la mayoría de ellas, por lo que son solo excepciones las que necesitan un manual. intervención o revisión.
No es el trabajo más emocionante de hacer, pero aporta valor a lo largo del tiempo.
La cobertura de código existente debería hacer que este sea un cambio de bajo riesgo.

question

Todos 3 comentarios

Supongo que el editorconfig podría mejorarse o quizás agregarse

Estaba pensando en StyleCop.Analyzers para el código C #. Sin embargo, no estoy seguro de qué es lo mejor para C ++.

Sin embargo, no estoy seguro de qué es lo mejor para C ++.

@RanjeshJ está trabajando para habilitar el formato clang-tidy y clang-format habilitado para ejecutarse en la base de código y creo que eso debería ayudar para C ++. MSVC simplemente no tiene un buen linter por lo que hemos visto.

Para C #, existe el nuevo elemento editorconfig que hemos configurado y debería tener efecto en los archivos de C #. Si hay más cosas estilísticas para C # que deben agregarse allí, podemos hacerlo. Y luego, si algo como StyleCop ayudara a ir aún más lejos, también podemos ejecutarlo. Pero no he visto tantas críticas en C #, así que creo que el editorconfig está haciendo su trabajo principalmente.

¿Fue útil esta página
0 / 5 - 0 calificaciones