# V3538. AUTOSAR. The result of an assignment expression should not be used.

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

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

Более того, следование данному правилу значительно снижает вероятность путаницы между операторами '=' и '=='.

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

    int Inc(int i)
    {
      return i += 1; // <=
    }

    void neg(int a, int b)
    {
      int c = a = b; // <=

      Inc(a = 1);    // <=

      if(a = b) {}   // <=
    }

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

AUTOSAR-M6.2.1