Pregunta

Se ha propuesto lo siguiente para un próximo proyecto de C ++.

  • Estándares de codificación C ++, por Sutter y Alexandrescu
  • JSF Air Vehicle C ++ estándares de codificación
  • Los elementos del estilo C ++
  • Eficaz tercera edición de C ++, por Scott Meyers

¿Hay otras opciones? ¿O es la lista anterior lo que debe usarse en un proyecto C ++?

Algunos enlaces relacionados

¿Fue útil?

Solución

Realmente creo que no importa cuál adoptes, siempre y cuando todos lo acepten. A veces eso puede ser difícil, ya que parece que algunos estilos no están de acuerdo con los gustos de las personas. Es decir. todo se reduce a discutir si prefijar 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 otros en what-is-your-favorite-coding- directrices-lista de verificación hilo

Otros consejos

Estándares de codificación C ++: 101 reglas, pautas y mejores prácticas (C ++ Serie en profundidad) por Herb Sutter y Andrei Alexandrescu.

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

Pruebe este, es el que utiliza el centro de vuelo espacial Goddard de la NASA.

http://software.gsfc.nasa.gov/AssetsApproved /PA2.4.1.3.pdf

He escrito un estándar de codificación para una importante empresa británica y estaba muy consciente de poner razones por las que seleccioné ciertas cosas en lugar de hacerlo un montón de "Deberías" pronunciamientos (-:

Como una salida rápida, te sugiero que ordenes:

  • Scott Meyers's Effective C ++ 3rd Edition ( enlace de Amazon ) - si puede encontrar una copia de la primera edición de este libro y luego comprarla para obtener una descripción general del diseño OO que se eliminó de ediciones posteriores. ) -:
  • El libro de Scott Meyer STL efectivo ( Enlace de Amazon ) - debe usar STL para usar C ++ de manera eficiente.
  • El libro de Steve McConnell Code Complete 2 ( Amazon link ) - no C ++ específico pero lleno de grandes ideas.

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

Eso es todo lo que deberían hacer, así que simplemente tome su código existente y asegúrese de que su equipo codifique con el mismo estilo.

Me gusta pensarlo como dibujos animados. Si te conviertes en un dibujante de cómics en Los Simpson, tienes que dibujar los ojos de la manera oficial o todo se ve como un pantalón, pero si vas a Family Guy, debes dibujarlos de manera diferente. De ninguna manera está mal.

Demasiados estándares tienen que ver con restricciones sin sentido, escritas por personas que no se codifican (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.

ej. mis estándares incluyen reglas para nombrar directorios: siempre tendrá su código en un directorio llamado con el mismo nombre que el proyecto, y todos los binarios van en el subdirectorio bin, con todos los archivos de configuración en el mismo lugar y un registro de cambios, etc. Todos cosas simples, pero 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 simples y fáciles que hacen una gran diferencia.

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

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

Los estándares de codificación C ++ de JSF para vehículos aéreos de Lockheed Martin son una lectura interesante, pero es un poco exagerado a menos que esté trabajando en campos donde un error puede matar personas. Sigue siendo un ejemplo muy importante para mirar desde un punto de vista de ética informática sobre un ejemplo de cómo programar con la seguridad y la corrección como la máxima prioridad.

Para la codificación C ++ de uso general, personalmente recomendaría Estándares de codificación C ++ de Herb Sutter. Desde el principio, enfatiza lo que no se debe estandarizar (cosas relacionadas con el estilo o las preferencias en lugar de las prácticas que promueven la seguridad, la corrección y la eficiencia). También se encuentra entre las lecturas más fáciles de su lista que ofrece argumentos muy breves pero concisos para cada estándar, lo que facilita mostrar a sus compañeros de trabajo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top