2.7 이어붙이기 대신 서식화
class Mission { Logbook logbook; LocalDate start; void update(String author, String message) { LocalDate today = LocalDate.now(); String month = String.valueOf(today.getMonthValue()); String formattedMonth = month.length() < 2 ? "0" + month : month; String entry = author.toUpperCase() + ": [" + formattedMonth + "-" + today.getDayOfMonth() + "-" + today.getYear() + "](Day " + (ChronoUnit.DAYS.between(start, today) + 1) + ")> " + message + System.lineSeparator(); logbook.write(entry); } }
이해도와 가독성은 코드뿐만 아니라 코드가 생성할 출력에서도 중요합니다.
긴 문자열을 생성할 때 서식 문자열을 사용하면 더 읽기 쉽게 만들 수 있습니다.
NullPointerException 피하기에서 보았던 일지(LogBook)를 다시 활용하겠습니다. 문제는 출력이 실제로 어떤 모습일지 알기 어렵다는 점입니다. String 변수가 여러 개이고 어떤 변수는 자바의 인라인(in-line) 표기까지 사용합니다.