Делая обзор кода для коллеги сегодня, я увидел странную вещь. Он окружил свой новый код фигурными скобками вот так:
Constructor::Constructor()
{
existing code
{
New code: do some new fancy stuff here
}
existing code
}
Каков результат, если таковой имеется? Что может быть причиной для этого? Откуда эта привычка?
Изменить:
Основываясь на входных данных и некоторых вопросах ниже, я чувствую, что должен добавить кое-что к вопросу, даже несмотря на то, что я уже отметил ответ.
Среда — это встроенные устройства. Существует много устаревшего кода C, завернутого в одежду C++. Есть много разработчиков C, которые превратились в C++.
В этой части кода нет критических секций. Я видел это только в этой части кода. Нет никаких основных выделений памяти, просто установлены некоторые флаги и некоторые биты.
Код, заключенный в фигурные скобки, выглядит примерно так::
{
bool isInit;
(void)isStillInInitMode(&isInit);
if (isInit) {
return isInit;
}
}
(Не обращайте внимания на код, просто придерживайтесь фигурных скобок... ;)) После фигурных скобок идет еще немного манипуляций с битами, проверки состояния и базовой сигнализации.
Я разговаривал с этим парнем, и его мотивация заключалась в том, чтобы ограничить область действия переменных, конфликты имен и некоторые другие вещи, которые я не мог понять.
С моей точки зрения это кажется довольно странным, и я не думаю, что фигурные скобки должны быть в нашем коде. Во всех ответах я видел несколько хороших примеров того, почему код можно окружить фигурными скобками, но не следует ли вместо этого разделить код на методы?