March 2018
Intermediate to advanced
208 pages
4h 52m
English
| | 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 ...