Aller au contenu

Repeated work in loop (ARCH4072)

Ce contenu n’est pas encore disponible dans votre langue.

Key java.performance.repeated-work-in-loop · Severity info · Category performance

A computation whose inputs do not depend on the loop variable produces the same result every iteration. Such work should be hoisted out of the loop to avoid repeating it.

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);
}
}

Move computations that do not depend on the loop variable into a variable outside the loop.