Добавление отступа оператора неправильно заставляет его появиться как часть блока
Этот дефект происходит, когда добавление отступа оператора заставляет его появиться как часть if
, else
или другой блок, но расположение или отсутствие фигурных скобок на самом деле сохраняют оператор вне блока.
Разработчик или рецензент могут неправильно сопоставить оператор с блоком на основе его добавления отступа, ведя к неправильному предположению о логике программы.
Например, в этом примере:
if(credentialsOK()) login=1; setCookies();
setCookies();
не часть if
блокируйтесь, но добавление отступа предлагает в противном случае.Если вы хотите, чтобы оператор был частью блока, убедитесь, что оператор в фигурных скобках, сопоставленных с блоком. Чтобы идентифицировать степень блока, на панели Source, кликают по вводной фигурной скобке.
Если if
, else
или while
оператор не носит брекетов после условия, только следующая строка на пути к выполнению до точки с запятой рассматривается частью if
, else
или while
блок. Если вы хотите, чтобы последующие линии были включены в блок, перенесли линии в фигурные скобки.
Например, в предыдущем примере, чтобы включать оба оператора в if
блок, используйте:
if(credentialsOK()) { login=1; setCookies(); }
Группа: Хорошая практика |
Язык: C | C++ |
Значение по умолчанию: Off |
Синтаксис командной строки:
INCORRECT_INDENTATION |
Удар: низко |
Find defects (-checkers)
| Line with more than one statement
| Semicolon on same line as if, for or while statement