MISRA C++:2008 Rule 7-3-1

Глобальное пространство имен должно только содержать основные, объявления пространства имен и экстерна "C" объявления

Описание

Управляйте определением

Глобальное пространство имен должно только содержать основные, объявления пространства имен и экстерна "C" объявления.

Объяснение

Правило убеждается, что все имена, найденные в глобальной области видимости, являются частью пространства имен. Соблюдение этого правила избегает, чтобы имя столкнулось и гарантировало, что разработчики не снова используют имя переменной, приводящее к ошибкам компиляции/соединения или тени имя переменной, приводящее к возможно неожиданным проблемам позже.

Реализация Polyspace

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

Средство проверки не отмечает имена в глобальной области видимости, если они объявляются в extern "C" блоки (Код С, включенный в рамках Кода С++). Однако, если вы используете опцию Ignore link errors (-no-extern-c), эти имена также отмечаются.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Проверяйте информацию

Группа: объявления
Категория: необходимый
Введенный в R2013b