무의미한 산술 표현식을 보고합니다. 그러한 표현식에는 0 더하기 또는 빼기, 0 또는 1로 곱하기, 1로 나누기가 포함됩니다.

그러한 표현식은 자동화된 리팩터링의 결과일 수 있으며 개발자가 의도한 결과가 아닐 가능성이 높습니다.

빠른 수정에서는 그러한 표현식을 단순화합니다.

예:


  void f(int a) {
    int x = a - a;
    int y = a + 0;
    int res = x / x;
  }

빠른 수정을 적용한 후:


  void f(int a) {
    int x = 0;
    int y = a;
    int res = 1;
  }

드문 경우, 모든 가능한 입력에 대해 제안된 교체는 원래 코드와 완전히 동등하지 않을 수 있습니다. 예를 들어, 검사는 x / x1로 바꿀 것을 제안합니다. 하지만 x가 0인 경우 원래 코드는 ArithmeticException을 던지거나 NaN을 발생시킵니다. 또한 xNaN인 경우 결과 또한 NaN입니다. 그러한 동작이 의도되었을 가능성은 매우 낮습니다.