Refactoring for DRY
Barry Burd
bburd at drew.edu
Mon Apr 8 16:35:36 PDT 2013
The following code seems very repetitious to me. Ss there a recommended way to refactor this code?
people.parallelStream()
.filter(p -> p.getAge() >= 12)
.filter(p -> p.getAge() < 65)
.forEach(p -> {
p.setPrice(9.25);
});
people.parallelStream()
.filter(p -> p.getAge() >= 12)
.filter(p -> p.getAge() < 65)
.filter(p -> p.hasCoupon())
.forEach(p -> {
p.setPrice(p.getPrice() - 2.00);
});
people.parallelStream()
.filter(p -> (p.getAge() < 12 || p.getAge() >= 65))
.forEach(p -> {
p.setPrice(5.25);
});
people.stream()
.forEach(p -> {
p.display();
});
people.stream().map(p -> p.getPrice()).forEach(amount -> total += amount);
More information about the lambda-dev
mailing list