私のクラスの 1 つのメソッドは、内部のもののためにいくつかの配列の新しいコピーを必要とするので、そのようなものを書く必要があります:
public void FrequentlyCalledMethod {
int[] a = new int[100];
....
しかし、メソッドが頻繁に呼び出され、配列の内容が意味をなさないため(とにかく置き換えられます)、配列が十分に大きいため、最適化してそのようなものを書きたいと思います:
private int[] a = new int[100];
public void FrequentlyCalledMethod {
....
メソッドが毎秒 100 回呼び出されると仮定すると、毎秒約 100 * 100 * sizeof(int) バイトのヒープ メモリを節約できます。
問題は、クラス宣言が「ダーティ」になっていることです。1 つのメソッドだけが必要とする情報がフィールドに含まれています。このようなフィールドが多すぎると、「通常の」フィールドが「パフォーマンスの最適化」フィールドと混在するため、クラスが非常に「判読不能」になります。
私に何ができる?それとも、パフォーマンスか可読性のどちらかを選択する必要がありますか? どうにかして両方持つことはできますか?