Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top

Вебинар: Зачем тестировщику нужна безопасность? - 16.04

menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V7002. The body of a function is fully equivalent to the body of another function.

03 Апр 2026

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

Диагностическое правило может обнаружить следующие разновидности ошибок:

class Point
{
  foo;
  bar;

  getFoo() { return foo; }
  getBar() { return foo; }
}

Из-за допущенной опечатки две разные по смыслу функции выполняют одинаковые действия.

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

class Point
{
  foo;
  bar;

  getFoo() { return foo; }
  getBar() { return bar; }
}

В приведённом примере идентичность тел функций getFoo и getBar явно свидетельствует о наличии ошибки. Однако если выдавать предупреждения на все одинаковые функции, то процент ложных срабатываний будет крайне большим. Поэтому анализатор руководствуется целым рядом исключений, когда не стоит предупреждать об одинаковых телах функций.

Перечислим некоторые из них:

  • из функции сразу возвращается значение, являющееся либо литералом, либо this. Пример: isXYZ() { return true; };
  • функции с одинаковыми телами повторяются более двух раз;
  • тело функций состоит только из инструкции throw.