このような式は自動リファクタリングによって発生している可能性があり、開発者が意図していたものではないと思われます。
クイックフィックスを使用すると、このような式が単純化されます。
例:
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 / x を 1 に置換することを提案します。
しかし、x が0の場合、元のコードは ArithmeticException をスローするか、結果が NaN になります。
また、x が NaN の場合は結果も NaN になります。 そのような動作が意図されている可能性はほとんどありません。