더북(TheBook)

3.5 구현 결정 설명하기

class Inventory {

    private List<Supply> list = new ArrayList<>();

    void add(Supply supply) { 
        list.add(supply); 
        Collections.sort(list);
    }

    boolean isInStock(String name) {
        // 빠른 구현
        return Collections.binarySearch(list, new Supply(name)) != -1;
    }
}

결정은 인생을 어렵게 만듭니다. 코드에서도 마찬가지죠.

코드에서도 어려운 결정을 내려야 할 때가 있습니다. 객관적으로 옳거나 그른 것이 없는 상황, 장점과 단점이 모두 있는 상황에서요. 바로 그럴 때 주석이 필요합니다!

위 코드를 보세요. 프로그래머가 왜 binarySearch를 쓰기로 결정했는지 궁금한가요? 음, 적어도 (도움이 될 만한) 주석을 남기긴 했습니다. 빨라야 한다고요.

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