Лишние фигурные скобки в C++?

Делая обзор кода для коллеги сегодня, я увидел странную вещь. Он окружил свой новый код фигурными скобками вот так:

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;
   }
}

(Не обращайте внимания на код, просто придерживайтесь фигурных скобок... ;)) После фигурных скобок идет еще немного манипуляций с битами, проверки состояния и базовой сигнализации.

Я разговаривал с этим парнем, и его мотивация заключалась в том, чтобы ограничить область действия переменных, конфликты имен и некоторые другие вещи, которые я не мог понять.

С моей точки зрения это кажется довольно странным, и я не думаю, что фигурные скобки должны быть в нашем коде. Во всех ответах я видел несколько хороших примеров того, почему код можно окружить фигурными скобками, но не следует ли вместо этого разделить код на методы?

175
задан aledalgrande 30 May 2014 в 22:14
поделиться