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.
Hatalı
Bölüm başlığı “Hatalı”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üzeltme
Bölüm başlığı “Düzeltme”Döngü değişkenine bağlı olmayan hesaplamaları döngünün dışına bir değişkene taşıyın.