Manual de estilo C / C++
MANUAL DE
ESTILO C / C++
Oscar Valtueña García
http://www.geocities.com/webmeyer/prog/estilocpp/
- 1 -
Manual de estilo C / C++
Manual de estilo C/C++
http://www.geocities.com/webmeyer/prog/estilocpp/
Versión: 1.1.0, Enero de 2005
(c) 2005 Oscar Valtueña García
[email protected]
Manual publicado bajo licencia GFDL
- 2 -
Manual de estilo C / C++
INDICE
1. Introducción.................................................................................................................. 5
2. Sobre el código ............................................................................................................. 6
2.1 Líneas ..................................................................................................................... 6
2.2 Indentación o sangrado........................................................................................... 6
2.3 Bloques ................................................................................................................... 7
2.4 Paréntesis................................................................................................................ 7
2.5 Espacios en blanco ................................................................................................. 8
2.6 Comentarios............................................................................................................ 9
2.7 Código .................................................................................................................. 10
2.8 Compilación ......................................................................................................... 10
3. Variables..................................................................................................................... 12
3.1 Nomenclatura de las variables.............................................................................. 12
3.2 Utilización de variables ........................................................................................ 13
3.3 Variables locales................................................................................................... 14
3.4 Variables globales................................................................................................. 14
3.5 Variables estáticas ................................................................................................ 14
3.6 Inicialización de variables .................................................................................... 15
3.7 Asignación de memoria........................................................................................ 15
3.8 Cadenas de caracteres........................................................................................... 16
4. Sentencias de control.................................................................................................. 18
4.1 Comparaciones ..................................................................................................... 18
4.2 Asignaciones......................................................................................................... 18
4.3 Operador ternario ?............................................................................................... 19
4.4 Sentencia for......................................................................................................... 19
4.5 Sentencias while y do while ................................................................................. 20
4.6 Sentencia Switch .................................................................................................. 20
4.7 Sentencia goto ...................................................................................................... 21
4.8 Sentencias break y continue ................................................................................. 21
4.9 Sentencias exit y return ........................................................................................ 21
4.10 Bloques ............................................................................................................... 22
5. Funciones.................................................................................................................... 23
5.1 Nomenclatura de las funciones............................................................................. 23
5.2 Utilización de funciones ....................................................................................... 23
5.3 Argumentos de las funciones................................................................................ 23
5.4 Retorno de la función ........................................................................................... 25
5.5 Referencias (C++) ................................................................................................ 25
5.6 Sobrecarga de funciones (C++) ............................................................................ 26
5.7 Funciones inline.................................................................................................... 26
5.8 Cabeceras de las funciones................................................................................... 26
6. Clases (C++)............................................................................................................... 27
6.1 Nomenclatura de las clases................................................................................... 27
6.2 Secciones en la declaración de clases................................................................... 27
6.3 Datos miembros de clase ...................................................................................... 28
6.4 Métodos (funciones miembro) de clase................................................................ 28
6.5 Sobrecarga de operadores..................................................................................... 29
- 3 -
Manual de estilo C / C++
6.6 Instancias .............................................................................................................. 30
6.7 Cabeceras de las clases y los métodos.................................................................. 30
6.8 Objetos.................................................................................................................. 31
7. Defines, macros y constantes...................................................................................... 32
7.1 Nomenclatura de defines, macros, constantes...................................................... 32
7.2 Utilización de defines, macros, constantes........................................................... 32
8. Excepciones (C++) ..................................................................................................... 34
8.1 Utilización de excepciones ................................................................................... 34
9. Tipos de datos y enumeraciones................................................................................. 35
9.1 Nomenclatura para tipos de datos y enumeraciones............................................. 35
9.2 Utilización de tipos de datos y enumeraciones..................................................... 35
9.3 Conversión de tipos de datos................................................................................ 36
10. Ficheros .................................................................................................................... 37
10.1 Tipos de ficheros ................................................................................................ 37
10.2 Nombres de los ficheros ..................................................................................... 37
10.3 Estructura de los ficheros ................................................................................... 38
10.4 Cabeceras de los ficheros ................................................................................... 39
10.5 Ficheros de cabecera (*.h).................................................................................. 39
A. Bibliografía................................................................................................................ 41
ANEXOS........................................................................................................................ 42
Licencia de Documentación Libre GNU (traducción) ............................................... 43
- 4 -
Manual de estilo C / C++
1. Introducción
A la hora de programar es muy importante seguir un estilo.
Este nos permitirá revisar, mantener y actualizar el código de una manera más sencilla y
ordenada.
Seguir estas normas también evitará que caigamos en errores y vicios que dificultan la
comprensión de las líneas de código y que pueden ocultar posibles "efectos colaterales"
que podrían hacerse visibles en cualquier momento (para desgracia y desesperación del
programador).
Históricamente, el primer objetivo de todo esto fue tener mi propio manual de estilo,
para aplicarlo en mis desarrollos. Para ello recopilé indicaciones y consejos de multitud
de manuales, de grandes expertos en programación y mi propia experiencia.
Cuando fue creciendo el manual consideré adecuado ponerlo en la Web, para que
pudiera ser consultado por cualquiera que se encontrara en mi misma situación.
Seguramente vaya actualizando y aumentando el manual de manera paulatina, y
seguramente haya fallos, errores u omisiones que hay que corregir... (si ves alguno de
estos, o quieres hacer algún comentario, madame un correo a
[email protected]).
Todas las normas y consejos que siguen se pueden resumir de una manera sencilla en:
Hay que evitar técnicas que atenten contra la modularidad y la
Hay que conseguir un código sencillo, legible y fácil d
Comentarios de: MANUAL DE ESTILO C/C++ (1)