MISRA C:2012 Rule 3.1

Последовательности символов /* и // не буду использоваться в рамках комментария

Описание

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

Последовательности символов /* и // не буду использоваться в рамках комментария.

Объяснение

Эти последовательности символов не позволены в комментариях к коду потому что:

  • Если ваш код содержит /* или // в /* */ прокомментируйте, это обычно означает, что вы непреднамеренно закоментировали код.

  • Если ваш код содержит /* в // прокомментируйте, это обычно означает, что вы непреднамеренно не прокомментировали /* */ комментарий.

Реализация Polyspace

Вы не можете аннотировать это правило в исходном коде.

Для получения информации об аннотациях смотрите, Аннотируют Код и Скрывают Известные или Приемлемые результаты.

Дополнительное сообщение в отчете

Последовательность символов /* не появлюсь в рамках комментария.

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

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

Примеры

развернуть все

int x;
int y;
int z;

void non_compliant_comments ( void )
{
    x = y //  	/* Non-compliant
        + z
        //  */
        ;
    z++;	//	Compliant with exception: // permitted within a // comment
}

void compliant_comments ( void )
{
    x = y /*  	Compliant
      + z
	  */
        ;
    z++;	//	Compliant with exception: // is permitted within a // comment
}

В этом примере, в non_compliant_comments функция, /* символ происходит в том, что, кажется, // прокомментируйте, нарушив правило. Из-за структуры комментария операцией, которая происходит, является x = y + z;. Однако без двух //- s, совершенно различная операция x=y; происходит. Это не ясно, какая операция предназначается.

Используйте формат комментария, который ясно дает понять ваше намерение. Например, в compliant_comments функция, ясно что операция x=y; предназначается.

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

Группа: Комментарии
Категория: необходимый
Категория AGC: необходимый

Введенный в R2014b