2008-12-18 9 views
8

FxCops es algo nuevo para mí, pero como siempre me gustaría conocer las cosas nuevas ... Según lo que he leído, FxCops ya está incluido en VS2008. Supongo que es la función "Análisis de código". Sin embargo, cada vez que intento ejecutarlo, parece comenzar una reconstrucción y finalizar en el estado "Reconstrucción finalizada".
Revisé la ventana de salida y hay un montón de advertencias allí. Pero si no estoy confundiendo, debería haber más de una GUI para esto y luego el muro de texto en la ventana de salida, ¿verdad?
¿Me está faltando una ventana que debería haber aparecido? ¿Puedo abrirlo en algún lado? ¿O hay algo más que me estoy perdiendo?Análisis de código/FxCop en VS2008

Respuesta

3

Sí, Code Analysis es el simpático nombre descriptivo de FxCop. Sin embargo, no conozco una ventana amigable más allá de la lista de errores/advertencias donde deberían aparecer, con el prefijo CA.

En la pantalla de propiedades del proyecto hay una pestaña de Análisis de código donde puede tratar las advertencias como errores para hacer cumplir las reglas que le interesan.

+0

Veo, no presté atención a la pestaña de "advertencias", ya que normalmente solo está llena de "clases de CSS faltantes". Para empezar, es una advertencia no funcional (VS no encuentra la mitad de tus archivos CSS y no todas las clases son para CSS) –

+0

También me parece molesto, pero si tienes clases CSS que se usan únicamente para marcar el HTML , en lugar de diseñarlo, ¿por qué no agregar una regla CSS vacía? (En una sección que se comenta para explicar el motivo por el que las reglas están vacías) – belugabob

1

Una alternativa a FxCop sería utilizar la herramienta que permite NDepend escribir Code Rules over C# LINQ Queries (namely CQLinq). NDepend está integrado en VS 2012, 2010 y 2008. Descargo de responsabilidad: Yo soy uno de los desarrolladores de la herramienta

Se proponen más de 200 code rules por defecto. La personalización de las reglas existentes o la creación de sus propias reglas es sencilla gracias a la conocida sintaxis C# LINQ.

NDependen las reglas del código se pueden verificar live in Visual Studio y en tiempo de proceso de compilación, en generated HTML+javascript report.

Parece preocupado por el número de falso positivo. Para mantener baja la cantidad de falsos positivos, CQLinq ofrece las capacidades únicas para definir qué es el conjunto JustMyCode a través de consultas de códigos especiales con el prefijo notmycode. Se pueden encontrar más explicaciones acerca de esta característica here. Éstos son por ejemplo dos notmycode consultas predeterminadas:

Para mantener el número de falsos positivos baja, con CQLinq también se puede enfocar reglas resultan sólo en código añadido o código refactorizado, desde un baseline in the past definido. Ver la siguiente regla, que detectan los métodos añadidos o refactorizado demasiado compleja desde la línea de base:

warnif count > 0 
from m in Methods 
where m.CyclomaticComplexity > 20 && 
     m.WasAdded() || m.CodeWasChanged() 
select new { m, m.CyclomaticComplexity } 
+0

suena interesante. Podría sugerir esto a mi jefe –

2

Sólo para que todo el mundo sabe, porque me llevó mucho tiempo para resolver esto ....Code Analysis/FxCop solo se incluye en las versiones Team Team y Team Suite de VS 2008, no en Professional Edition.

+0

, pero tiene la versión independiente – Avram

+0

Gracias Avram, pude encontrar la versión 1.36 de FxCop como una aplicación independiente. Sin embargo, hay que realizar una búsqueda cuidadosa, ya que la beta en realidad aparece más alta en los resultados de Google. –