45 | | Asignarles nombres significativos a lo que almacenan y plantearlos como |
46 | | sustantivos. |
47 | | |
48 | | No todo el tiempo una variable tiene un nombre significativo por sí mismo, en |
49 | | esos casos agregar un comentario a la derecha de la declaración que explique |
50 | | brevemente su significado, si el comentario es multilínea, agregarlo antes de la |
51 | | declaración de la variable. |
52 | | |
53 | | Escribir el nombre de las variables comenzando con una letra minúscula. Cada palabra consecutiva en un nombre de variable debe comenzar con una letra mayúscula. |
54 | | |
55 | | Inicializarlas al momento de declararse y si se coloca una explicación a su lado. |
56 | | |
57 | | Usar una línea diferente para cada declaración. |
| 28 | El nombre de las variables debe ser significativo, y en caso contrario se debe especificar con un comentario de una sola linea que hace. |
77 | | Asignarles nombres significativos a la operación que efectúen y plantearlos |
78 | | como verbos. |
79 | | |
80 | | Escribir un bloque de comentario multilínea que contenga una breve explicación |
81 | | de lo que hacen antes de su definición. Nota: Si es muy evidente la operación |
82 | | que ésta realice, se puede ignorar este paso. |
83 | | |
84 | | Escribir el nombre comenzando con una letra minúscula. Cada palabra consecutiva en un nombre de función debe comenzar con una letra mayúscula. |
85 | | |
86 | | Para los parámetros de las funciones usar las mismas especificaciones de las |
87 | | variables. |
| 44 | Tanto las funciones, métodos así como las clases deben ser antecedidas por un comentario de multilinea donde se especifique que funcionalidad realizan, autor y fecha. En caso de ser necesario se realizaran comentarios de una línea para especificar algunos procedimientos dentro de la función, método o clase. |
108 | | |
109 | | |
110 | | '''Clases''' |
111 | | |
112 | | Escribir mediante un comentario multilínea una breve explicación de los que |
113 | | representa la clase así como el autor o autores de ésta. |
114 | | |
115 | | Asignarles nombres significativos de lo que éstas representen y plantearlos como |
116 | | sustantivos. |
117 | | |
118 | | Escribir los nombres con el estilo de nombres propios, es decir, la primera |
119 | | letra de cada palabra que lo conforme en mayúscula y el resto en minúscula. Cada palabra consecutiva en un nombre de clase debe comenzar con una letra mayúscula. |
120 | | |
121 | | |
122 | | Ejemplo de definición de una clase: |
123 | | |
124 | | {{{ |
125 | | #!div style="font-size: 80%" |
126 | | Code highlighting: |
127 | | {{{#!C++ |
128 | | /* Clase que representa una lista mediante arreglos |
129 | | |
130 | | Autor: José Ruiz |
131 | | */ |
132 | | class MainWindow : public QMainWindow |
133 | | { |
134 | | |
135 | | }; |
136 | | }}} |
137 | | }}} |
138 | | |
139 | | A los atributos de una clase aplicarle las mismas especificaciones de una |
140 | | variable. |
141 | | |
142 | | A los metodos de una clase aplicarle las mismas especificaciones que a las |
143 | | funciones. |
144 | | |
145 | | '''''Consideraciones especiales sobre métodos''''' |
146 | | |
147 | | ''Constructores'' |
148 | | |
149 | | Asignarle valor inicial a todos los atributos de la clase, usar el espacio de |
150 | | inicialización del constructor para el valor inicial y el espacio de |
151 | | implementación para cualquier operación adicional sobre los atributos. |
152 | | |
153 | | Siguiendo con el ejemplo de la clase definida anteriormente: |
154 | | |
155 | | {{{ |
156 | | #!div style="font-size: 80%" |
157 | | Code highlighting: |
158 | | {{{#!C++ |
159 | | /* Plantilla que representa una lista mediante arreglos |
160 | | |
161 | | Recibe como parámetro plantilla el tipo de elemento que va a almacenar. |
162 | | |
163 | | Autor: José Ruiz |
164 | | */ |
165 | | class MainWindow : public QMainWindow |
166 | | { |
167 | | size_t size; // Almacena el tamaño del arreglo |
168 | | T * array; // Arreglo de elementos de tipo T |
169 | | |
170 | | public: |
171 | | MainWindow(const size_t & _size) |
172 | | : size(_size), array(nullptr) |
173 | | { |
174 | | array = new T[size]; |
175 | | } |
176 | | }; |
177 | | }}} |
178 | | }}} |
179 | | |
180 | | ''Modificadores y Observadores'' |
181 | | |
182 | | A los observadores colocarles como nombre el mismo nombre del atributo al cual |
183 | | observa con el prefijo 'get'. |
184 | | |
185 | | A los modificadores colocarles como nombre el mismo nombre del atributo al cual |
186 | | observa con el prefijo 'set'. |
187 | | |
188 | | Por ejemplo para consultar el tamaño de la lista: |
189 | | |
190 | | {{{ |
191 | | #!div style="font-size: 80%" |
192 | | Code highlighting: |
193 | | {{{#!C++ |
194 | | /* Clase que representa una lista mediante arreglos |
195 | | |
196 | | Autor: José Ruiz |
197 | | */ |
198 | | class MainWindow : public QMainWindow |
199 | | { |
200 | | |
201 | | // ... Otras implementaciones ... |
202 | | |
203 | | const size_t & getSize() const |
204 | | { |
205 | | return size; |
206 | | } |
207 | | }; |
208 | | }}} |
209 | | }}} |