Split Method with Optional Parameters
| class Logbook { |
| |
| static final Path CREW_LOG = Paths.get("/var/log/crew.log"); |
| |
» | List<String> readEntries(LocalDate date) throws IOException { |
| final List<String> entries = Files.readAllLines(CREW_LOG, |
| StandardCharsets.UTF_8); |
| if (date == null) { |
| return entries; |
| } |
| |
| List<String> result = new LinkedList<>(); |
| for (String entry : entries) { |
| if (entry.startsWith(date.toString())) { |
| result.add(entry); |
| } |
| } |
| return result; |
| } |
| } |
Booleans as you’ve seen them in Split Method with Boolean Parameters aren’t the only indicators of methods that do too much. Optional parameters have the same problem, but they’re harder to spot.
This time, we’re looking at how data ...
Get Java By Comparison now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.