Oggi, quando ho fatto una revisione del codice per un collega, ho visto qualcosa di strano. Aveva circondato il suo nuovo codice con parentesi graffe come questa:
Constructor::Constructor()
{
existing code
{
New code: do some new fancy stuff here
}
existing code
}
Qual è il risultato, se presente, da questo? Quale potrebbe essere la ragione per farlo? Da dove viene questa abitudine?
Modificare:
In base all'input e ad alcune domande riportate di seguito, ritengo di dover aggiungere un po 'alla domanda, anche se ho già contrassegnato una risposta.
L'ambiente è dispositivi integrati. C'è un sacco di codice C legacy avvolto in abiti C ++. Ci sono molti sviluppatori C ++ trasformati in C.
Non ci sono sezioni critiche in questa parte del codice. L'ho visto solo in questa parte del codice. Non ci sono allocazioni di memoria importanti fatte, solo alcuni flag che sono impostati e alcuni twiddling.
Il codice che è circondato da parentesi graffe è qualcosa di simile:
{
bool isInit;
(void)isStillInInitMode(&isInit);
if (isInit) {
return isInit;
}
}
(Non importa il codice, basta attenersi alle parentesi graffe ...;)) Dopo le parentesi graffe ci sono alcuni più twiddling, controllo dello stato e segnalazione di base.
Ho parlato con il ragazzo e la sua motivazione è stata quella di limitare la portata delle variabili, gli scontri con i nomi e alcuni altri che non potevo davvero capire.
Dal mio POV questo sembra piuttosto strano e non penso che le parentesi graffe dovrebbero essere nel nostro codice. Ho visto alcuni buoni esempi in tutte le risposte sul perché si potrebbe circondare il codice con parentesi graffe, ma non si dovrebbe separare il codice in metodi invece?