-
Notifications
You must be signed in to change notification settings - Fork 188
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor Predicate and Consumer sections for better readability
Refactored the Predicate and Consumer sections in `StringExercises.java`, and added debugging outputs in `SumBigDecimals.java` and `LoopsSortsAndIfs.java`. This improves debugging capabilities and readability of the code base. In `StringExercises`, now using a lambda expression to handle logger.info for better control. This modification makes code more self-explaining and increases the predictability of the logger system. In `SumBigDecimals`, added debug print statements in the reduce method, making it easier to trace the execution of the computation and to spot potential issues. In `LoopsSortsAndIfs`, the code became more readable and maintainable by using stream api, the code has been modified to replace traditional loops and conditionals with a single stream pipeline. This change improves readability and maintainability.
- Loading branch information
Showing
3 changed files
with
12 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,15 @@ | ||
package refactoring.after; | ||
|
||
import java.util.ArrayList; | ||
import java.util.Collections; | ||
import java.util.Arrays; | ||
import java.util.Comparator; | ||
import java.util.List; | ||
|
||
public class LoopsSortsAndIfs { | ||
public static void main(String[] args) { | ||
String[] strings = "this is an array of strings".split(" "); | ||
|
||
List<String> evenLengths = new ArrayList<>(); | ||
for (String s : strings) { | ||
if (s.length() % 2 == 0) { | ||
evenLengths.add(s.toUpperCase()); | ||
} | ||
} | ||
|
||
Collections.sort(evenLengths, new Comparator<String>() { | ||
@Override | ||
public int compare(String s1, String s2) { | ||
return s1.length() - s2.length(); | ||
} | ||
}); | ||
|
||
for (String s : evenLengths) { | ||
System.out.println(s); | ||
} | ||
Arrays.stream("this is an array of strings".split(" ")) | ||
.filter(s -> s.length() % 2 == 0) | ||
.map(String::toUpperCase) | ||
.sorted(Comparator.comparingInt(String::length) | ||
.thenComparing(Comparator.naturalOrder())) | ||
.forEach(System.out::println); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters