CERT C: Rec. MSC04-C

Последовательно и читаемо используйте комментарии

Описание

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

Последовательно и удобно используйте комментарии.[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 function, the /* символ возникает в том, что кажется // комментарий, нарушение правила. Из-за структуры комментария выполняемая операция x = y + z;. Однако без двух //-s, совершенно другая операция x=y; происходит. Непонятно какая операция предназначена.

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

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

Группа: Rec. 48. Разное (MSC)
Введенный в R2019a

[1] Это программное обеспечение было создано MathWorks, включающее фрагменты: «Сайт SEI CERT-C», © 2017 Университет Карнеги Меллон, Веб-сайт SEI CERT-C + + © 2017 Университет Карнеги Меллон, "Стандарт кодирования SEI CERT C - Правила разработки безопасных, Надежные и безопасные системы - 2016 Edition ", © 2016 Университет Карнеги Меллон, и "Стандарт кодирования SEI CERT C++ - Правила разработки безопасных, Надежные и безопасные системы в C++ - 2016 Edition "© 2016 Университет Карнеги Меллон, с специального разрешения от его Института программной инженерии.

ЛЮБОЙ МАТЕРИАЛ УНИВЕРСИТЕТА КАРНЕГИ МЕЛЛОН И/ИЛИ ЕГО ИНЖЕНЕРНОГО ИНСТИТУТА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, СОДЕРЖАЩИЙСЯ В НАСТОЯЩЕМ ДОКУМЕНТЕ, ПОСТАВЛЯЕТСЯ НА БАЗИСЕ «КАК ЕСТЬ». УНИВЕРСИТЕТ КАРНЕГИ МЕЛЛОН НЕ ДАЕТ НИКАКИХ ГАРАНТИЙ, ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, В ОТНОШЕНИИ ЛЮБОГО ВОПРОСА, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЮ ПРИГОДНОСТИ ДЛЯ ЦЕЛЕЙ ИЛИ КОММЕРЧЕСКОЙ ВЫГОДЫ, ИСКЛЮЧИТЕЛЬНОСТИ, ИЛИ УНИВЕРСИТЕТ КАРНЕГИ МЕЛЛОН НЕ ДАЕТ НИКАКИХ ГАРАНТИЙ В ОТНОШЕНИИ СВОБОДЫ ОТ ПАТЕНТА, ТОВАРНОГО ЗНАКА ИЛИ НАРУШЕНИЯ АВТОРСКИХ ПРАВ.

Это программное обеспечение и связанная с ним документация не были рассмотрены и не одобрены Университетом Карнеги-Меллон или его Институтом программной инженерии.