it-swarm-es.com

¿Están recomendados los estándares de codificación .NET / C #?

¿Qué estándares de codificación cree que son importantes para los proyectos .NET/C #? Esto podría ser cualquier cosa, desde lidiar con llaves y espacios y pedales como ese. O podrían ser preguntas más fundamentales, como qué espacios de nombres en .NET Framework evitar, las mejores prácticas con archivos de configuración, etc.

Intenta evitar crear una publicación que sea simplemente el corolario de otra. Por ejemplo, estaría bien tener una publicación centrada en llaves. No necesitamos dos para admitir un estilo frente al otro. La idea no es votar por el estándar de su mascota, sino desarrollar lo que se debe pensar al crear estándares.

19
RationalGeek

Aquí está la Guía oficial de Microsoft sobre estándares de codificación para .NET Framework Versión 4.0.

Si desea la versión anterior para 1.1, intente aquí .

No necesariamente sigo esto a una 'T', como dicen. Sin embargo, en caso de duda, este es el mejor lugar para comenzar a ser coherente con el marco .NET actual, lo que lo hace más fácil para todos, sin importar si son nuevos en su proyecto particular o no.

29
Ryan Hayes

Es posible que desee echar un vistazo a StyleCop . Incluso puede incorporarlo en algunos sistemas de compilación para que los errores de estilo rompan la compilación. La configuración predeterminada es en su mayoría congruente con lo que MS sugiere para las pautas (según lo publicado por otros).

También puede modificar las reglas que vienen con el valor predeterminado.

10
Steven Evers
6
ysolik

Adoptamos esto en nuestra oficina. Está escrito por Lance Hunt, y es bastante completo:

http://weblogs.asp.net/lhunt/pages/CSharp-Coding-Standards-document.aspx

5
CokoBWare

Comience con FxCop . Le informará sobre las infracciones de mejores prácticas en su código existente.

4
Victor Hurdugaci

Tengo que recomendar los estándares puestos a disposición por SSW (una empresa de consultoría australiana).

No solo codificación, sino gestión de proyectos, etc. Un recurso increíblemente valioso.

http://www.ssw.com.au/ssw/standards/default.aspx

2
davewasthere

Los métodos deben ser cortos.

La mayoría de los métodos deberían usar la mayoría de los campos en una clase.

Elige bien tus nombres.

Por ejemplo, lea el libro Código limpio

2
Ian

Estoy usando las siguientes aplicaciones para mantener un estándar de codificación además de las reglas de camelback, el nombre del método, etc.

GhostDoc - Agrega un comentario generado automáticamente en la parte superior de cada método. La aplicación proporciona un buen resumen inicial del método. (gratis)

http://submain.com/products/ghostdoc.aspx

Resharper - análisis de código y refactorización http://www.jetbrains.com/resharper/

StyleCop - Como una limpieza final antes de registrarme en TFS. (gratis)

http://code.msdn.Microsoft.com/sourceanalysis

2
Nickz

Intento elegir un conjunto común de estilos de varias fuentes. Algunos que no fueron mencionados antes:

2
alexandrul

Odio los estándares de codificación establecidos, a todos les preocupa decirte que no cometas algunos errores tontos o decirte cómo formatear tu código de una forma u otra. Todo lo cual son trivialidades.

Quiero decir, te dirán cuántos espacios poner entre operadores, cómo poner en mayúsculas tus variables, qué prefijos de 'estilo húngaro' usar (por ejemplo, _ para miembros), consejos contradictorios (por ejemplo, no puedes llamar a una clase Cxyz pero tú ... debe llamar a una interfaz Ixyz), cómo diseñar su código (coloque su variable en la parte superior de la clase o en la parte inferior)

Todos son inútiles en el panorama general.

Lo que importa para escribir código efectivo, fácil de mantener y legible nunca se menciona en estos estándares.

Por ejemplo: ¿coloca sus variables en la parte superior o inferior de su clase? Bueno, a quién le importa; lo que importa es si agrupa sus variables por área funcional. Eso es importante (lo sabrás si alguna vez has visto 20 variables dispersas por el lugar).

Te dicen que pongas tus llaves en ciertos lugares. ¡Vaya cosa! Puedo leer el código en los corchetes de estilo K&R y ANSI, no importa. Lo que importa es si todas las clases de Windows se diferencian de alguna manera (como el sufijo con Form o Dlg o lo que sea) para que pueda ver qué archivos contienen código de ventana y cuáles son objetos comunes.

Cosas como esta son mucho más importantes que los puntos menores que suelen contener los estándares. No sé por qué se desarrollaron así, pero a menudo son solo un montón de reglas que se interponen en el camino de una codificación efectiva y productiva.

Mis estándares intentan centrarse más en la organización de código y archivos. Tenemos ciertos estándares que se refieren a dónde se encontrarán los archivos. Por ejemplo, para los que no son desarrolladores, pueden ver uno de nuestros proyectos e inmediatamente recoger los archivos de documentación que necesitan. Del mismo modo, tratamos de diseñar el código del proyecto de una manera tan similar a otros proyectos como sea práctico (nota: como práctico, no de una manera muy proscrita que puede no ser apropiada todo el tiempo) y, básicamente, tratamos de establecer pautas estándar que Se puede modificar según sea necesario.

En resumen, están ahí para ayudarnos a trabajar juntos, no como un conjunto de reglas restrictivas que siempre tienen a seguir.

1
gbjbaanb

Advertencia: Pragmatismo a continuación - La pregunta parece estar redactada para provocar un debate sobre el estilo "correcto" de llaves, etc. No aguanto perdiendo el tiempo en esas tonterías.

  1. Instale ReSharper , deje los valores predeterminados, haga lo que diga.

  2. Beneficio: todos en su equipo tendrán el mismo estilo que estará muy cerca de las pautas de Microsoft, solo se desviarán en unos pocos puntos donde los estándares de Resharper reflejan lo que en realidad es más utilizado en la industria y son (posiblemente) mejoras.

Cuanto menos tiempo pase su equipo creando y haciendo referencia a algún documento o libro gigantesco, o dándose por el curly braces y otras tonterías, mientras más codificación se realicen. ReSharper impondrá los nombres y el estilo a medida que escriben. Hecho. Fin del debate. No queda nada por qué discutir. Hacia adelante.

Dicho esto, una lectura del clásico Código completo , los ayudará a comprender la lógica detrás de los estándares de codificación, y ofrecerá muchos consejos excelentes para transmitir el significado de manera efectiva a través del código, algo que un documento de estándares o un programa de inspección no puede hacer .

Si desea intensificar lo que resharper puede hacer por usted, agregue StyleCop con el complemento StyleCop for ReSharper. Como se mencionó, habrá algunos conflictos menores entre las pautas de MS y los valores predeterminados de ReSharper. Simplemente iría con ReSharper en esos. Pero, cualquiera que sea el lado que tome, simplemente guarde los resultados en el archivo de configuración de ReSharper, compártalos con su equipo y listo.

(No, no soy un shill pagado para ReSharper, solo un cliente satisfecho. Además de sus muchas otras funciones, maneja problemas de estilo básico más rentables que cualquier documento estándar o sistema de revisión de código, ¡dejando la capacidad intelectual para las cosas que importan

1
DanO