Al hacer una revisión de código para un colega hoy, vi una cosa peculiar. Había rodeado su nuevo código con llaves como esta:
Constructor::Constructor()
{
existing code
{
New code: do some new fancy stuff here
}
existing code
}
¿Cuál es el resultado, si lo hay, de esto? ¿Cuál podría ser la razón para hacer esto? ¿De dónde viene este hábito?
Editar:
En base a los comentarios y algunas preguntas a continuación, siento que tengo que agregar algunas a la pregunta, a pesar de que ya marqué una respuesta.
El entorno es dispositivos integrados. Hay una gran cantidad de código C heredado envuelto en ropa C ++. Hay muchos desarrolladores convertidos en C ++.
No hay secciones críticas en esta parte del código. Solo lo he visto en esta parte del código. No se realizan asignaciones importantes de memoria, solo algunos indicadores que se configuran y algunos cambios de bits.
El código que está rodeado de llaves se parece a:
{
bool isInit;
(void)isStillInInitMode(&isInit);
if (isInit) {
return isInit;
}
}
(No importa el código, solo quédese con las llaves ...;)) Después de las llaves hay un poco más de torsión, verificación de estado y señalización básica.
Hablé con el chico y su motivación fue limitar el alcance de las variables, nombrar enfrentamientos y otros que realmente no pude entender.
Desde mi punto de vista, esto parece bastante extraño y no creo que las llaves estén en nuestro código. Vi algunos buenos ejemplos en todas las respuestas sobre por qué uno podría rodear el código con llaves, pero ¿no debería separar el código en métodos?