Lors d'une revue de code pour un collègue aujourd'hui j'ai vu un drôle de chose. Il avait entouré son nouveau code avec des accolades comme ceci:
Constructor::Constructor()
{
existing code
{
New code: do some new fancy stuff here
}
existing code
}
Quel est le résultat, le cas échéant, à partir de cela? Quelle pourrait être la raison pour cela? D'où vient cette habitude de venir?
Edit:
Sur la base d'informations et de certaines des questions ci-dessous, je sens que je dois ajouter un peu à la question, même si je l'ai déjà marqué une réponse.
L'environnement est d'appareils embarqués. Il y a beaucoup de legacy code C enveloppé dans du C++ vêtements. Il y a beaucoup de C tourné les développeurs C++.
Il n'y a pas de sections critiques dans la présente partie du code. J'ai seulement vu dans cette partie du code. Il n'existe pas de grandes allocations de mémoire en fait, juste quelques indicateurs qui sont définis, et un peu tourner.
Le code qui est entouré par des accolades est quelque chose comme:
{
bool isInit;
(void)isStillInInitMode(&isInit);
if (isInit) {
return isInit;
}
}
(Ne me dérange pas le code, il suffit de coller à l'accolades... ;) ) Après les accolades il y a encore peu tourner, vérification d'état et de signalisation de base.
J'ai parlé au gars et sa motivation était de limiter la portée des variables, en nommant les affrontements, et quelques autres que je ne pouvais pas vraiment prendre.
De mon POV cela semble assez étrange et je ne pense pas que les accolades doivent être dans notre code. J'ai vu quelques bons exemples dans toutes les réponses sur pourquoi on pourrait entourer le code avec des accolades, mais ne devriez-vous pas séparer le code en méthodes à la place?