# V3503. AUTOSAR. The 'goto' statement shouldn't jump to a label declared earlier.

Данное диагностическое правило основано на руководстве AUTOSAR (AUTomotive Open System ARchitecture) по разработке программного обеспечения.

Использование оператора 'goto', осуществляющего переход к метке, находящейся выше по коду, ухудшает читаемость кода и как следствие – усложняет его поддержку.

Пример кода, на который анализатор выдаст предупреждение:

    void init(....)
    {
      ....
    again:
      ....
      if (....)
        if (....)
          goto again;
      ....
    }

Чтобы анализатор не выдавал предупреждение, необходимо отказаться от использования оператора 'goto' или переписать код таким образом, чтобы метка, на которую ссылается 'goto', находилась ниже него.

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

AUTOSAR-M6.6.2