PMD ルールに問題がありAvoid instantiating new objects inside loops
ます。コード例を次に示します。
import java.awt.Dimension;
public class PMDDemo {
public static void main(final String[] args) {
final Dimension[] arr = new Dimension[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = new Dimension(i, i); // rule violation here
}
}
}
PMD は、コード内のマークされた場所で上記のルール違反を示します。ループ内で作成せずに、クラスのnインスタンスを作成するにはどうすればよいですか?
PMD のルールのいくつかが物議を醸していることは知っています ( onlyOneExitルールなど)。しかし、これまでのところ、少なくともそれらの背後にある考え方は理解できました。このルールの背後にある理由がわかりません。誰かがそれを手伝ってくれますか?