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를 쓰기로 결정했는지 궁금한가요? 음, 적어도 (도움이 될 만한) 주석을 남기긴 했습니다. 빨라야 한다고요.

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