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

Разделы кода не должны быть то, " закомментировал" использование комментариев в стиле С++

Описание

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

Разделы кода не должны быть то, " закомментировал" использование комментариев в стиле С++.

Объяснение

Комментирование кода не является хорошей практикой. Закоментированный код может остаться из синхронизации с окружающим кодом, не вызывая ошибки компиляции. Позже, если вы не комментируете код, можно столкнуться с неожиданными проблемами.

Используйте комментарии только, чтобы объяснить аспекты кода, которые не очевидны из самого кода.

Реализация Polyspace

Средство проверки использует внутреннюю эвристику, чтобы обнаружить закоментированный код. Например, символы, такие как #, ;, { или } укажите на комментарии, которые могут потенциально содержать код. Эти комментарии затем оценены против других метрик, чтобы определить вероятность кода, подменяющего комментарием. Например, несколько последовательных слов без промежуточного символа уменьшают эту вероятность.

Средство проверки не отмечает следующие комментарии, даже если они содержат код:

  • Доксиджен комментирует начало с /// или //!.

  • Комментарии, которые несколько раз повторяют тот же символ, например, символ = здесь:

    // =====================================
    // A comment
    // =====================================*/

  • Комментарии к первой линии файла.

  • Комментарии, которые смешивают стиль C (/* */) и стиль C++ (//).

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

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

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

Примеры

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

#include <iostream>
int getRandInt();

// Function to print random integers
void printInteger() {
    // int val = getRandInt(); 
    // val++; 
    // std::cout << val;     
    std::cout << getRandInt();
}

Этот пример содержит блок закоментированного кода, который нарушает правило.

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

Группа: лексические соглашения
Категория: консультация
Введенный в R2020b