더북(TheBook)

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) 표기까지 사용합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.