오류 처리

책너두 5기 15일차 로버트 C. 마틴의 클린코드 p.132 ~ p.141 내용 정리 7. 오류 처리 Try-Catch-Finally 문부터 작성하라 예시 : 파일이 없으면 예외를 던지는지 알아보는 단위 테스트. 1 2 3 4 @Test(expeccted = StroageException.class) public void retrieveSectionShouldThrowOnInvalidFileName() { sectionStore.retrieveSection("invalid - file"); } 위 단위 테스트에 맞춰 다음 코드를 구현 1 2 3 4 public List<RecordedGrip> retrieveSection(String sectionName) { // 실제로 구현할 때까지 비어 있는 더미를 반환한다. return new ArrayList<RecordedGrip>(); } 위 코드는 예외를 던지지 않으므로 테스트는 실패. 코드를 변경한다. ...

2023년 8월 16일 · 3 분 · 배준수

객체와 자료 구조

책너두 5기 14일차 로버트 C. 마틴의 클린코드 p.123 ~ p.131 내용 정리 6. 객체와 자료 구조 디미터 법칙 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙. 즉, 객체는 조회 함수로 내부 구조를 공개하면 안된다. final String outputDir = ctxt.getoptions().getScratchDir().getAbsolutePath(); 위 코드는 디미터 법칙을 어겼다. 각 함수가 반환하는 객체의 함수를 호출하기 때문이다. 기차 충돌 위와 같은 코드를 기차 충돌(train wreck)으로 부른다. 길게 이어진 기차같은 이 코드는 다음과 같이 수정할 수 있다. ...

2023년 8월 15일 · 2 분 · 배준수