2009-08-31 10 views

Respuesta

2

StyleCop tal vez (para algunas violaciones) - hay toneladas de formateadores de código.

FxCop no (que yo sepa).

ReSharper puede ayudar con la limpieza del código y las refactorizaciones, pero no va a arreglar mágicamente todas las violaciones de FxCop (aunque señalará y ayudará a solucionar algunos problemas).

Los problemas de FxCop son similares a los patrones de diseño; generalmente requieren reflexión para determinar la forma correcta de aplicar la solución. En algunos casos, la violación puede no aplicarse, y puede ser suprimida. También puede ajustar las reglas de FxCop a sus necesidades particulares; las reglas estándar estaban pensadas para marcos distribuidos y bibliotecas, y no son universales. La mayoría de ellos son muy, muy buenas sugerencias, sin embargo.

+4

Como ya mencionó ReSharper: StyleCopForReSharper (http://www.codeplex.com/StyleCopForReSharper/) proporciona una corrección automática para las reglas de StyleCop. –

10

StyleFix corregirá muchas de las infracciones encontradas por StyleCop.
GhostDoc hace que sea fácil agregar comentarios a sus métodos.

Lateley He estado usando Telerik JustCode. Realmente ayuda a PREVENIR los problemas de estilo.

2

StyleCopFixer es la herramienta que arregla automáticamente las excepciones de StyleCop dentro de Visual Studio IDE.

5

FxCop no viene con sus propias características de fijación por el momento. Project Roslyn (destinado a ser lanzado en algún lugar después de VS11) proporcionará un nuevo motor para las reglas de análisis estático y viene con la fijación incorporada como característica.

Hay una serie de herramientas que proporcionan sus propias reglas de fijación. Unos pocos han sido mencionados antes:

Estos a veces el indicador Más o otras cosas que FxCop o StyleCop lo harían. Y aquí está el peligro de reglas contradictorias. Que ya está ocurriendo aquí y allá si eres una herramienta como FxCop.

Y hay algunos proyectos de código abierto que intentan proporcionar soluciones para las advertencias FxCop y StyleCop más comunes. No he probado esos para StyleCop, pero la mayoría de las herramientas de fijación automática FxCop realmente no funcionan bien, ya que hay muy pocas reglas de FxCop que sean realmente fáciles de solucionar.

Ninguna de estas herramientas podrá ayudarlo a corregir reglas personalizadas (o reglas que haya descargado de otras fuentes, como MSOCAF o proyectos de código abierto (FxCopContrib por ejemplo) u otros proyectos de Microsoft (como las reglas incluidas) en el Open Source Web Service Software Factory CTP).

Y, especialmente con las reglas de FxCop veo que, aunque lo que se marca, lo que parece muy simple de resolver, en realidad apunta a un problema mucho más grande.

  • Tomemos como ejemplo la regla de rendimiento que le solicita que haga todos sus métodos estáticos. Esto en realidad te indica que tienes clases con baja cohesión. Simplemente marcar todo estático puede hacer que su código sea un poco más rápido, pero no mejorará su diseño y, con seguridad, hará que las pruebas y el mantenimiento de su código sean más difíciles a largo plazo.
  • O la regla que menciona que debe proporcionar un proveedor de IFormat a cualquier método que tenga una sobrecarga que lo admita. Veo demasiados desarrolladores que acaban de poner CurrentCulture allí y terminan con eso. Sigue recibiendo errores de importación/exportación cuando transfieren archivos entre dos sistemas configurados de forma diferente. Como la globalización, la localización y la internacionalización son temas difíciles de abordar.

Esto aplica mucho menos a StyleCop, ya que el estilo de codificación a menudo no está relacionado con la implementación o el diseño subyacente real. Y parece que StylecopFixer es un gran complemento si no está usando el Resharper integration que ahora viene con StyleCop de forma predeterminada.

+0

Haga clic con el botón derecho en el archivo y seleccione el código de limpieza del adaptador. Tiene muchas configuraciones. Y auto limpia varios archivos a la vez. –

15

No, frustrantemente. Es por eso que Style Cop es contraproducente. El formato coherente se ve bien, pero tiene un pequeño beneficio de productividad (lo que realmente hace que el código sea difícil de leer es la longitud y indirection). El espaciado perfecto no vale la pena pasar horas ajustando las líneas a mano.

Si hubiera una herramienta automatizada para lograr un formato coherente, podría conectarlo después de la entrada. Pero Style Cop está hecho por sádicos que obligan al usuario a hacer el tedioso formateo a mano. Es de suponer que su conversación fue así:

Bob: El uso de la coincidencia de patrones, el software identifica el código feo
Charlie: -y lo fija!
Bob: No. Imprime un mensaje sobre cada transgresión.
Charlie: ¿Y luego el usuario hace clic derecho para arreglarlos todos?
Bob: No. El mensaje les regala 'espacio no válido alrededor de la coma'.
Charlie: ¿Y luego explica cómo el usuario puede arreglarlo?
Bob: No, esa información está en un documento separado.
Charlie: ¿En Google?
Bob: No.

I hate Style Cop. Está por debajo de un producto mínimo viable.

+2

El complemento Stylecop para Resharper soluciona automáticamente problemas ... – felickz

0

Ejecutando Stylecop por primera vez, por lo general, la mayoría de los errores arrojados en mi experiencia son los relacionados con el formato de código.

que utiliza dos herramientas para reorganizar el código para que coincida con las normas StyleCop:

El primero de ellos se convirtieron en mi preferencia; es una herramienta de línea de comandos, agregué esto a herramientas personalizadas en Visual Studio. El segundo es un complemento para Visual Studio, por lo tanto, fue bastante conveniente trabajar con archivos individuales.

Como ya se mencionó, hay algunas herramientas que intentan corregir algunos errores de Stylecop, pero en mi opinión funcionaron bastante mal, por lo tanto, abandoné su uso y no puedo recomendar ninguno.

No creo que hay herramientas para FxCop, y no estoy convencido de que no debe haber ..

1

Algunas herramientas que utilizo para solucionar los problemas del arreglo StyleCop son,

  1. CodeMaid (uno gratuito de código abierto)
  2. GhostDoc (Ya se ha sugerido en las respuestas anteriores en el mismo post.You necesita comprar esto, viene con un número limitado de 14 días versión de prueba)
  3. StyleCopFixer (Ya se ha sugerido anteriormente en repl IES en el mismo post.Free uno, se presenta como una extensión a VS2010)

espero que ayude :)

0

StyleCopAutoFix es una aplicación de consola que va a arreglar automáticamente violaciónes StyleCop relacionados con la falta (o innecesario) vacía líneas. Es gratis y de código abierto.

Si bien el alcance de las violaciones que soluciona es bastante limitado, lo soluciona de forma segura (es poco probable que rompa el código o modifique el comportamiento). Estas violaciones son también las más comunes.

Si usa Visual Studio, también recomiendo ejecutar este script: https://gist.github.com/JayBazuzi/9e0de544cdfe0c7a4358. Automáticamente formatea automáticamente todo el código de todos los archivos en una solución.

En los proyectos que ejecuté esta aplicación (y el script VS anterior) se soluciona hasta el 60% de todas las infracciones.

Descargo de responsabilidad: soy el autor de esto.

Cuestiones relacionadas