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