İçeriğe geç

Döngüde tekrarlanan iş (ARCH4072)

Anahtar java.performance.repeated-work-in-loop · Önem info · Kategori performance

Girdileri döngü değişkenine bağlı olmayan bir hesaplama, her yinelemede aynı sonucu üretir. Bu iş döngü dışına alınarak (hoisting) tekrar tekrar yapılması önlenmelidir.

for (Order order : orders) {
if (order.getTotal() > config.getThreshold() * rate.getFactor()) {
flag(order);
}
}
double limit = config.getThreshold() * rate.getFactor();
for (Order order : orders) {
if (order.getTotal() > limit) {
flag(order);
}
}

Döngü değişkenine bağlı olmayan hesaplamaları döngünün dışına bir değişkene taşıyın.