2010-03-11 18 views
16

Estoy buscando algo parecido a Checkstyle para Visual Studio. Recientemente comencé un nuevo trabajo haciendo .NET y me di cuenta de que los estándares de codificación aquí son un poco escasos. Aunque todavía soy un chico joven y estoy lejos del desarrollador más experimentado, trato de predicar con el ejemplo y hacer que las cosas vayan en la dirección correcta.Checkstyle para C#?

Me encantó la posibilidad de usar Checkstyle con Eclipse y examinar el código antes de las revisiones, así que me gustaría hacer lo mismo con Visual Studio. ¿Alguien tiene una buena sugerencia?

Otra cosa que me gustaría algo es un complemento para SVN que no permite el check-in hasta que se cumplan los estándares de codificación principal. No quiero que la gente revise el código reventado que va a terminar en una revisión del código.

Cualquier sugerencia en este punto sería genial.

+8

So. Nuevo en el trabajo, bastante joven y desea establecer estándares de codificación. Quieres tener cuidado con esto. Los desarrolladores más antiguos y experimentados se verán postergados si no lo manejas bien. Mi sugerencia: encuentre un aliado, luego véndales la idea y vaya con su gerente juntos. También tenga en cuenta que hay una cultura local que debe comprender antes de cambiarla. – jcollum

+0

@jcollum - Excelente punto. Los "estándares de codificación" tienden a convertirse en argumentos religiosos que a veces pueden ser amargos. Y muchas veces las cosas de las que las personas se vuelven más exigentes no hacen absolutamente nada para mejorar el código, excepto de manera subjetiva. Al igual que, pones tu '{' en una nueva línea o no. – Nick

+0

Afortunadamente, C# viene con un conjunto de convenciones que son el estándar de facto.Simplemente utilícelos y se evitarán muchos debates inútiles. –

Respuesta

8

Tome un vistazo a resharper.

+1

+1 para mi herramienta favorita –

+0

rocas de reafilado (en su mayoría) – stmax

5

Lo que estás buscando se llama Static Code Analysis.

FxCop es una opción. Creo que Resharper también puede verificar este tipo de cosas.

+0

Gracias por dejarme saber el término correcto, me siento un poco tonto a veces sin saber el nombre correcto para las cosas. –

+0

¿No es CheckStyle solo para el estilo de codificación? FxCop en realidad busca errores y errores que claramente recaen en el análisis de código estático. Pero el estilo de codificación es más análisis token/whitespace que tratar con código real ... – Joey

+1

Creo que te refieres a StyleCop ..? FxCop solo mira el código IL (por lo tanto, no puede controlar la sangría, llaves, etc.), StyleCop mira el código C#. – stmax

6

Utilizamos StyleCop para hacer cumplir nuestros estándares de codificación. Es gratuito y se integra muy bien con Visual Studio

+0

¿podría decirme si usa las reglas de stylecop o si implementó su propio conjunto de reglas? lo que no me gusta de stylecop es que sus reglas no son configurables (como en resharper) y que de alguna manera obliga a sus reglas ... a menos que desee tomarse la molestia de cambiar y mantener el conjunto de reglas descrito en el código C# .. – stmax

+1

En su mayor parte usamos las reglas de StyleCop. Hay algunos que desactivamos. No lo he intentado, pero es posible escribir reglas personalizadas usando el SDK de StyleCop. Aquí hay un tutorial: http://www.lovethedot.net/2008/05/creating-custom-rules-for-microsoft.html –

4

Estas son algunas de las grandes herramientas que puede utilizar

FxCop es una herramienta de análisis de código que comprueba .NET ensamblados de código administrado de conformidad con las directrices de diseño de Microsoft .NET Framework


ReSharper es una refactorización y la productividad JetBrains plugin que extiende la funcionalidad nativa de Microsoft Visual Studio .NET 2003, 2005 y 2008.


StyleCop es una herramienta de análisis de código estático gratuita de Microsoft que comprueba el código C# para la conformidad con estilos de codificación recomendadas de StyleCop y un subconjunto de .NET Framework Directrices de diseño de Microsoft

ref: http://blogs.msdn.com/fxcop/

Cuestiones relacionadas