Guía de estilo para C ++ [cerrado]


29

En este momento estoy usando la Guía de estilo de Google C ++ en mi código C ++ y estaba bastante contento con ella.

Recientemente me dijeron que esta guía es muy mala: Google la usa internamente (lo sabía), está desactualizada y promueve algunas prácticas muy malas. Entonces quiero usar otro estilo de codificación.

¿Qué buenas y bastante usadas guías de estilo C ++ hay? Escribo código para gcc y Visual Studio, y uso muchas de las funciones de C ++ 11.

Lo que me gustó mucho de la Guía de estilo de Google C ++ fue la sangría, el espacio en blanco y las convenciones de nomenclatura (especialmente nombrando todas las clases, tipos, incluidos los typedefs, los alias de tipo y los alias de plantilla, con mayúscula).

Sé que cualquier respuesta es subjetiva (espero que esté bien en este sitio) y agradecería cualquier opinión, pero estoy interesado en las guías que se utilizan en estos días.


1
Siempre puede usar el estilo que desee y luego volver a formatearlo al estilo preferido cuando tenga que compartirlo. Aquí hay un formateador de estilo que automatiza este astyle.sourceforge.net
— Reactgular

77
Esta pregunta tiene potencial para respuestas basadas en opiniones. En lugar de cerrarlo por esta razón, alentaría a los encuestados a centrarse en hechos, como usos conocidos, recomendaciones de las autoridades, estudios comparativos y similares.
— andy256

@ andy256 No podría haberlo dicho mejor.
— bolov

77
¿Quién te dijo que el estilo de Google era malo y por qué te importa su opinión?
— Reactgular

@MathewFoscarini hubo una discusión razonablemente reciente aquí, a pesar de que no fue demasiado en profundidad: chat.stackoverflow.com/rooms/10/conversation/… (pero luego, analizarlo en profundidad es como pasar por el FQA )
— Cubbi

Respuestas:


15

Puede usar la guía de este libro para uso general:

http://www.amazon.com/Coding-Standards-Rules-Guidelines-Practices/dp/0321113586

de Herb Sutter y Andrei Alexandrescu. Sin embargo, no tiene en cuenta C ++ 11, pero creo que habrá una nueva edición.

Pero no responderá sobre el número de espacio en lugar de las pestañas o qué tipo de notación esotérica desea aplicar. Pero esto no es lo más importante, la mayor parte del tiempo solo para tener cierta consistencia es la clave.



8

Las críticas a la guía de estilo C ++ de Google (y estoy de acuerdo en que algunas están justificadas) no se refieren a las convenciones de nomenclatura de Google o al estilo de sangría, sino a algunas de sus otras reglas y políticas. Las convenciones de sangría / formateo y nomenclatura son una cuestión de gustos y son terreno fértil para interminables guerras religiosas de programadores, pero en C ++ donde, a diferencia de C #, no existe un estándar universal, la única pauta realmente importante es la consistencia. Para un nuevo proyecto, elija una convención de nomenclatura y un estilo de sangría que le guste y úselo constantemente. Para un proyecto existente, cumpla con la convención que ya está en uso. La regla 0 en los estándares de codificación C ++ es "No se preocupe por las cosas pequeñas". donde argumentan que las convenciones de nomenclatura y el estilo de sangría simplemente no son tan importantes mientras usted '

Para mí, un gran impulsor de la productividad ha sido automatizar la sangría / formateo utilizando el formato clang . Una vez que se haya decidido por algunas reglas de sangría y formato, le recomiendo configurar un archivo de configuración de formato .clang personalizado y no tener que preocuparse nunca más por eso :-)

Clang-format es una herramienta independiente y no requiere que uses clang como compilador. Incluso hay un complemento oficial disponible para Visual Studio.


6

Como @ user113896 escribió anteriormente, Bjarne Strostrup nos dio mucha guía de estilo. Uno de sus grandes logros es el libro de estilo de codificación JSF-C ++ . Tenga cuidado, no es para c ++ normal, más para uso integrado, pero muestra cómo se deben hacer las cosas para que sea claro y funcional. Por supuesto, no tiene que tener todo en cuenta: es una guía, no un libro de pedidos :).


2

Si no ha leído los Principios y programación de Bjarne Stroustrup, le recomiendo que lo lea porque puede aprender mucho del creador del lenguaje. He visto y leído mucho del autor de C ++ y puedo decir que tiene esta fijación por el estilo y siempre le dice a la gente que escriba un código bueno y hermoso que, según él, sea más fácil de depurar y leer. Creo que es el mejor tutor y la mejor guía para escribir código C ++ elegante y hermoso.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.