2012-01-25 15 views
9

¿Podría decirme cuáles son las diferencias entre las reglas de StyleCop y Code Analysis? ¿Debería usarse en conjunto o no?¿Cuáles son las diferencias entre StyleCop y Code Analysis cuando se habla de las reglas de cada uno?

Gracias.

+0

El análisis de código anteriormente se llamaba FxCop, esta respuesta debería darle lo que necesita http://stackoverflow.com/questions/1884522/stylecop-vs-fxcop – madd0

+0

El análisis de código debe compararse con FxCop, no con StyleCop. – nawfal

Respuesta

12

El policía de estilo esencialmente analiza el archivo buscando problemas de formato y otras cosas que podría considerar como "cosméticas". El análisis de código realmente construye su código e inspecciona el tiempo de ejecución compilado IL para conocer las características sobre cómo se comporta cuando se ejecuta y marcar los posibles problemas de tiempo de ejecución.

Por lo tanto, son complementarios, y usted está perfectamente bien para usarlos juntos.

7

Respuesta corta:

  • StyleCop: toma su código fuente como entrada y comprueba si hay posibles problemas de estilo código. Por ejemplo: las directivas using no están ordenadas alfabéticamente ... etc.
  • FxCop (ahora de análisis de código): toma una ensamblado compilado como entrada y los controles para los problemas potenciales relacionados al ejecutable/DLL propio cuando va a ser ejecutado. Por ejemplo: en su clase tiene un miembro del tipo IDisposable que no está dispuesto correctamente.

Sin embargo, existen algunas reglas que son comunes a ambas herramientas, por ejemplo, reglas relacionadas con la convención de nomenclatura para tipos expuestos al público.

De todos modos, usar ambos es una buena idea.

7

FxCop comprueba lo que está escrito. Funciona sobre el ensamblado compilado.

Cheques StyleCop cómo está escrito. Funciona sobre el archivo fuente analizado, incluso sin intentar compilarlo.

Esto lleva a todas las diferencias. Por ejemplo, FxCop no puede controlar las indentaciones, porque están ausentes en un ensamblado compilado. Y StyleCop no puede realizar comprobaciones de flujo de código porque no sabe cómo se está realmente ejecutando su código.

Cuestiones relacionadas