>
>
>
V3538. AUTOSAR. The result of an assign…


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