2008-09-28 15 views
14

Se han propuesto los siguientes para un próximo proyecto de C++. los estándares de codificaciónDocumentos estándares de codificación y estilo estándar existentes

  • C++ estándares de codificación, por Sutter y Alexandrescu
  • JSF Vehículo aéreo C++
  • Los elementos de C++ Estilo
  • efectiva C++ 3ª edición, de Scott Meyers

¿Existen otras opciones? ¿O es la lista por encima de lo que se debe utilizar en un proyecto de C++?

Algunos enlaces relacionados

+1

efectiva C++ es de Scott Meyers ... Eric Meyer es una web diseñada y CSS especialista ... :-p – paercebal

Respuesta

7

realmente creo que no importa cuál usted adopta, siempre y cuando todo el mundo va junto con él. A veces puede ser difícil ya que parece que algunos estilos no concuerdan con las personas. Es decir. todo se reduce a discutir si el prefijo de todas las variables miembro con m_ es bonito o no.

He estado usando y modificando los estándares Geosoft por un tiempo, estos son para C++. Hay algunos más en el what-is-your-favorite-coding-guidelines-checklist hilo

+0

Heck I * elegí * para usar m_, y ** ¡** creo que es feo! –

5

Hmm, extraña pregunta. Simplemente elija el estándar con el que la mayoría de los miembros del equipo estén familiarizados. Haz algún tipo de encuesta para tu equipo. No estoy seguro de cómo SO puede ayudar aquí :)

+0

Creo que se ¡solo ayudé! –

3

He escrito un estándar de codificación para una importante empresa británica y era muy consciente de poner razones por las que seleccioné ciertas cosas en lugar de simplemente hacer un montón de declaraciones de "tú harás". (-:

como una forma rápida, me gustaría sugerir que ordena:

  • de Scott Meyers efectiva C++ 3ª Edición (Amazon link) - si se puede encontrar una copia de la primera edición de este libro y luego comprar para la descripción general del diseño de OO que se eliminó de ediciones posteriores.) -:
  • Libro de Scott Meyer Effective STL (Amazon link) - debe usar STL para usar C++ de manera eficiente.
  • Código Completo 2 de Steve McConnell (Amazon link) - no específico de C++ pero lleno de grandes ideas.
3

Los estándares de codificación son solo significativos si ayudan a escribir el código. Por lo tanto, solo necesitan mantener el código coherente (es decir, si alguien pone m_ para miembros variables y alguien no, puede tomar más tiempo obtener el código que si todos usaran el mismo estilo).

Eso es todo lo que deberían (hacer), así que simplemente recoja su código existente y asegúrese de que los códigos de su equipo tengan el mismo estilo.

Me gusta pensar que es como caricaturas. Si te conviertes en caricaturista en los Simpson, debes dibujar los ojos de la manera oficial o todo se ve con los pantalones, pero si te diriges a Family Guy, tienes que dibujarlos de manera diferente. De ninguna manera está mal.

Demasiados estándares son sobre restricciones sin sentido, escritas por personas que no se codifican a sí mismas (o se consideran demasiado buenas para cumplirlas). Otros intentan enseñarte cómo codificar. Ninguno de los dos tiene su lugar en un buen estándar, solo hacen que sea más fácil para usted mirar algún código y comprender lo que está haciendo.

por ejemplo. mis estándares incluyen reglas para nombrar directorios: siempre tendrá su código en un directorio llamado el mismo nombre que el proyecto, y todos los binarios irán al subdirectorio bin, con todos los archivos de configuración en el mismo lugar, y un registro de cambios, etc. cosas simples, pero le garantizo que nunca encontraré un proyecto llamado algo diferente con sus binarios en el directorio raíz donde no sé qué cambios se le hicieron. Cosas sencillas y fáciles que hacen una gran diferencia.

2

Estoy de acuerdo con Harald Scheirich, es muy importante que el equipo acuerde cuáles deberían ser las reglas en lugar de solo elegir un conjunto que haya sido recomendado por personas externas.

Mi recomendación personal sería leer Code Complete, 2nd Edition por Steve McConnell, que describe (entre muchas otras cosas útiles) varias normas comunes de codificación y ofrece comentarios sobre cada una. Esto podría ayudar a su equipo a establecer sus propios estándares.

2

JSF Vehículo aéreo C++ de Lockheed Martin estándares de codificación es una lectura interesante, pero es un poco exagerado a menos que esté trabajando en los campos donde un error puede matar a la gente. Sigue siendo un ejemplo muy importante para mirar desde un punto de vista ético de la computadora sobre un ejemplo de cómo programar con la máxima prioridad de la seguridad y la corrección.

Para la codificación de C++ de uso general, recomiendo personalmente C++ Coding Standards de Herb Sutter. Desde el principio, enfatiza lo que no para estandarizar (cosas relacionadas con el estilo o preferencia en lugar de prácticas que promueven la seguridad, corrección, eficiencia). También es una de las lecturas más sencillas de su lista que brinda argumentos muy breves pero concisos para cada estándar, por lo que es fácil mostrarlo a sus compañeros de trabajo.

Cuestiones relacionadas