2008-10-23 17 views
7

Estoy tratando de hacer una revisión automática de código y refactorización con una herramienta. Algo en las líneas de FxCop o ReSharper.Automatización del código de revisión y refactorización

en busca de sugerencias de herramientas que cumplen estos requisitos:

  1. curva de aprendizaje baja.
  2. Dirigido a C# (y tal vez a VB.NET).
  3. Permítanme agregar o personalizar reglas fácilmente (y entiende todo CodeDOM).
  4. Bien documentado.
  5. GRATIS o muy barato. Lo sentimos, tipo de cambio bajo =)

Las revisiones del código manual todavía se realizarán. Pero la herramienta debe ser lo suficientemente minuciosa como para atrapar todos los abucheos comunes antes de que un desarrollador principal realice la revisión manual.

Si tiene historias para compartir acerca de las herramientas que ha usado/está utilizando, eso también sería genial.

Gracias.

EDIT: Finalmente tuve algo de tiempo para analizar las sugerencias más. StyleCop NO se integra con Visual Studio Express Edition, que es lo que estoy usando. ReSharper tiene muchas más funciones de las que necesito (lo cual es puramente para automatizar revisiones de código). Yo diría que no es una herramienta muy enfocada para mis propósitos (y también la razón de su precio). Todavía estoy buscando otras sugerencias, si las hay.

EDITDIT: StyleCop NO se integra con Visual Studio Express, pero puede configurarlo para que se ejecute como parte de su compilación en Visual Studio Express. Parece la mejor solución por ahora.

Respuesta

3

Como mencionaste ReSharper, te recomendaría buscar en la característica de estilos de código compartido que está disponible en una de las últimas versiones. De esta forma, puede hacer que su equipo siga los mismos estándares y estilos de codificación y se los hará saber a medida que codifican. Puede leer más aquí: Sharing Code Styles.

También he estado en un proyecto donde ejecutamos FxCop desde Visual Studio como un proceso de compilación posterior. Puede establecer advertencias y errores de la forma que desee en FxCop e incluso puede fallar la compilación si lo desea.

Microsoft de StyleCop es otro proyecto libre en la galería de código de MSDN que puede ser vale la pena ver:

Team System tiene algunas características interesantes en el mismo, pero se dice barato, así que ni siquiera voy allí :)

Lo más importante que aprendí acerca de cualquiera de estos procesos es que el equipo de desarrollo necesita entender por qué esto es importante y todos deben aceptarlo para que sea exitoso. Un desarrollador o contratista deshonesto puede hacer que todo sea un desastre y luego el resto del equipo puede pensar por qué molestarse.

0

No sé acerca de la refactorización automática, pero está en el camino correcto para el análisis. FxCop es extensible con custom rules y puede usar StyleCop para analizar directamente su fuente (FxCop examina el MSIL compilado). También puede tweak StyleCop para manejar sus requisitos específicos. En cuanto a la verdadera "automatización", tendrías que escribir algo.Estoy echado a perder en que tengo VSTS 2008 y la automatización se proporciona a través del IDE. Podría usar PowerShell o similar para crear un andamio que proporcione el primer pase del que un desarrollador/revisor senior podría trabajar.

+0

Un problema común es que tengo novatos utilizando el nombre de la columna para obtener el valor de un DataRow en un bucle. Quiero que obtengan el índice de la columna fuera del ciclo y utilicen el índice en lugar del nombre dentro del ciclo. ¿Puede StyleCop detectar estos tipos de errores? La documentación parece vaga sobre esto. – Fung

1

Me gustaría mencionar Code Metrics, que es una buena herramienta de revisión de código incluida en las ediciones de Team System. Si no cuentas con esas sofisticadas versiones de Visual Studio, puedes echar un vistazo a StudioTools from Exact Magic Software, que es un complemento gratuito.

Cuestiones relacionadas