最近 PMD について知り、それを使用してコードを改善したいと考えています。したがって、すべてのルールを有効にしました (そして 47000 の違反がありました:P)。とにかく、私はこれに問題があります:
double mean = 0;
for (int p : points)
mean += full[1][p];
mean /= points.size();
for each
ループで、PMD はローカル変数 'p' が final と宣言される可能性があることを教えてくれます。に変更すると
double mean = 0;
for (final int p : points)
mean += full[1][p];
mean /= points.size();
最終的なローカル変数の使用を回避し、フィールドに変換するように指示されます。2 番目の違反は、私にはあまり意味がありません。これを行う「正しい」方法は何ですか?(私は、異なる方法があるかもしれないことを理解しています.PMDがどのようになりたいかを知りたいだけです。)