Dokonując dzisiaj przeglądu kodu dla kolegi, zauważyłem osobliwą rzecz. Swój nowy kod otoczył kręconymi nawiasami klamrowymi:
Constructor::Constructor()
{
existing code
{
New code: do some new fancy stuff here
}
existing code
}
Jaki jest z tego wynik? Jaki może być powód tego? Skąd pochodzi ten nawyk?
Edytować:
Na podstawie danych wejściowych i niektórych pytań poniżej czuję, że muszę dodać trochę do pytania, mimo że już zaznaczyłem odpowiedź.
Środowisko to urządzenia osadzone. Istnieje wiele starszego kodu C zawiniętego w odzież C ++. Istnieje wiele programistów C ++ w wersji C.
W tej części kodu nie ma sekcji krytycznych. Widziałem to tylko w tej części kodu. Nie są wykonywane żadne główne przydziały pamięci, tylko niektóre flagi, które są ustawione, a niektóre drżenie.
Kod otoczony nawiasami klamrowymi przypomina:
{
bool isInit;
(void)isStillInInitMode(&isInit);
if (isInit) {
return isInit;
}
}
(Nie przejmuj się kodem, po prostu trzymaj się nawiasów klamrowych ...;)) Po nawiasach klamrowych jest trochę więcej kręcenia, sprawdzania stanu i podstawowej sygnalizacji.
Rozmawiałem z facetem, a jego motywacją było ograniczenie zakresu zmiennych, konfliktów nazw i innych, których tak naprawdę nie mogłem zrozumieć.
Z mojego POV wydaje się to dość dziwne i nie sądzę, że nawiasy klamrowe powinny znajdować się w naszym kodzie. We wszystkich odpowiedziach widziałem kilka dobrych przykładów, dlaczego można otoczyć kod nawiasami klamrowymi, ale nie powinieneś zamiast tego rozdzielić kodu na metody?