>
>
>
V6089. It's possible that the line was …


V6089. It's possible that the line was commented out improperly, thus altering the program's operation logics.

Анализатор обнаружил потенциально возможную ошибку, связанную с тем, что неаккуратно закомментированный фрагмент кода приводит к изменению логики выполнения программы.

Диагностическое правило ищет комментарии, похожие на код, между оператором 'if (...)' и его 'then'-ветвью, причем 'then'-ветвь отформатирована подозрительным образом. В этом случае можно предположить, что текущая 'then'-ветвь стала результатом неудачного рефакторинга.

Рассмотрим пример:

if (hwndTaskEdit == null) 
//  hwndTaskEdit = getTask(...);
if (hwndTaskEdit != null)
{
 ...
}

Программа потеряла смысл: условие второго оператора 'if' никогда не выполняется.

Корректный вариант кода:

// if (hwndTaskEdit == null) 
//   hwndTaskEdit = getTask(...);
if (hwndTaskEdit != null)
{
 ...
}

Анализатор не будет выдавать предупреждение, если форматирование кода будет соответствовать логике программы.

Пример кода:

if (isReady) 
  // some comment 
  if (isSmt)
  {
   ...
  }

Данная диагностика классифицируется как: