exponenta event banner

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

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

Описание

Определение правила

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

Объяснение

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

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

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

Внедрение 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; предназначен.

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

Группа: Комментарии
Категория: Обязательно
Категория СМЖЛ: требуется
Представлен в R2014b