c# - studio - ¿Hay alguna herramienta que pueda informar sobre el código.NET comentado?
summary definition c# (5)
¿Alguien ha encontrado una herramienta para informar sobre un código comentado en una aplicación .NET? Estoy hablando de patrones como:
//var foo = "This is dead";
Y
/*
var foo = "This is dead";
*/
Esto no será encontrado por herramientas como ReSharper o FxCop que buscan código sin referencia. Existen implicaciones obvias en cuanto a distinguir el código comentado del texto comentado, pero no parece una tarea demasiado grande.
¿Hay alguna herramienta existente por ahí que pueda recoger esto? Incluso si solo se trataba de informar las apariciones por archivo en lugar de la integración completa de IDE.
Edición 1: También he registrado esto como una solicitud de función StyleCop . Parece un buen ajuste para la herramienta.
Edición 2: Sí, hay una buena razón por la que me gustaría hacer esto y se relaciona con la calidad del código. Ver mi comentario a continuación.
Al ver como mencionó NDepends, también puede indicarle el porcentaje comentado en http://www.ndepend.com/Metrics.aspx#PercentageComment . Esto se define para aplicaciones, ensamblajes, espacios de nombres, tipos y métodos.
Hay otra opción para esto, Sonar . En realidad, es una aplicación centrada en Java, pero hay un plugin que puede manejar el código C #. Actualmente se puede informar sobre:
- Errores de StyleCop
- Errores de FxCop
- Errores de gendarme
- Código duplicado
- Código comentado
- Resultados de la prueba unitaria
- Cobertura de código (utilizando NCover, OpenCover)
Le toma un tiempo analizarlo principalmente debido a las comprobaciones de duplicación (AFAIK usa texto de coincidencia en lugar de árboles de sintaxis C #) y si usa la base de datos derby predeterminada interna, puede fallar en grandes bases de código. Sin embargo, es muy útil para las métricas de base de código que obtiene y tiene características de instantáneas que le permiten ver cómo han cambiado las cosas y (con suerte) mejorar con el tiempo.
He hecho este camino por la misma razón. Más o menos lo hice, fue lo que sugirió Ira Baxter (aunque me centré en variable_type variable = valor y específicamente busqué líneas que constaban de 0 o más espacios en blanco al principio seguido de // seguido de código (y para manejar / * * /, escribí un preprocesador que lo convirtió en // ''s. Ajusté el registro para reducir falsos positivos y también hice una inspección manual solo para estar seguro; afortunadamente, hubo muy pocos casos en los que el comentario estaba haciendo pseudocódigo como cosas como lo sugiere drachenstern anteriormente; YMMV. Me encantaría encontrar una herramienta que pudiera hacer esto, pero algunos falsos positivos de un pseudo código válido pero posiblemente demasiado detallado serán realmente para descartar, especialmente si están usando técnicas de programación literaria para Hacer el código como "legible" como pseudo código.
(También hice esto para el código VB6; por un lado, la falta de; ha hecho que sea más difícil corregir una exp. "Fácil", por otro lado, el código usaba muchas menos clases, por lo que era más fácil hacer coincidir tipos de variables que tienden a no estar en pseudo código)
Otra opción que miré pero que no tenía disponible era mirar los registros de control de revisión para las líneas que estaban codificadas en la versión X y luego // la misma línea en la versión Y ... esto de los cursos supone que A) están usando la revisión control B) puedes verlo, y C) no escribieron el código y lo comentaron en la misma revisión. (Y se pone un poco más complicado si usan / * * / comments
Puede obtener una respuesta aproximada utilizando una expresión regular que reconozca los comentarios, que termina con ";" o "}".
Para un esquema más preciso, vea esta respuesta: Herramienta para encontrar el código VHDL comentado
StyleCop capturará el primer patrón. Le sugiere que use ////
como un comentario para el código, de modo que ignorará la regla.