Правило 3.1 MISRA C:2012

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

Описание

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

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

Объяснение

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

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

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

Реализация 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: необходимый
Язык: C90, C99

Введенный в R2014b