본문 바로가기
독서/노개북

[노개북 #7] 클린 코드 TIL_DAY 14

by 포푸리 (POPOOLY) 2022. 5. 5.
반응형

📚 오늘 읽은 범위: 7장 오류 처리


📖 책에서 기억하고 싶은 내용을 써보세요.

 

• 깨끗한 코드와 오류 처리는 확실히 연관성이 있다. 상당수 코드 기반은 전적으로 오류 처리 코드에 좌우된다. (p.130)

 오류 코드보다 예외를 사용하라 (p.130)

Try-Catch-Finally문부터 작성하라 (p.132)

• 예외에 의미를 제공하라. 오류 메시지에 정보를 담아 예외와 함게 던진다. (p.135)

외부 API를 사용할 때는 감싸기 기법이 최선이다. 외부 API를 감싸면 외부 라이브러리와 프로그램 사이에서 의존성이 크게 줄어든다. 나중에 다른 라이브러리로 갈아타도 비용이 적다. 또한 감싸기 클래스에서 외부 API를 호출하는 대신 테스트 코드를 넣어주는 방법으로 프로그램을 테스트하기도 쉬워진다. 마지막 장점으로 감싸기 기법을 사용하면 특정 업체가 API를 설계한 방식에 발목 잡히지 않는다. (p.137)

메서드에서 null을 반환하는 방식도 나쁘지만 메서드로 null을 전달하는 방식은 더 나쁘다. (p.140)

 

🙇‍♂️ 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

 

코딩을 하다보면 많은 시간을 쓰는 것 중 하나가 오류와의 싸움이다. 그렇기 때문에 오류를 어떻게 처리하느냐가 코드의 완성도에 큰 영향을 미친다. 그래서 이 장을 최대한 이해하고 싶은데, JAVA 코드는 아직 100% 이해하기 어렵다. 천천히 반복해서 읽어야 할 것 같다.

 

🤷‍♂️ 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

 

• 단위 테스트(Unit Test): 응용 프로그램에서 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 테스트

- 통합 테스트(Integration Test): 단위 테스트보다 더 큰 동작을 달성하기 위해 여러 모듈들을 모아 이들이 의도대로 협력하는지 확인하는 테스트

- 인수 테스트(Acceptance Test): 사용자 스토리(시나리오)에 맞춰 수행하는 테스트

 

단위 테스트 vs 통합 테스트 vs 인수 테스트

소프트웨어 테스트에는 여러 유형들이 있다. 각 테스트는 목적, 방법 등에 따라 차이점을 가진다. 이번 글에서는 그 중 단위 테스트, 통합 테스트, 인수 테스트에 대해 개념을 정리하려 한다.

tecoble.techcourse.co.kr

TDD(Test Driven Development): 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현하는 테스트 주도 개발

 

TDD란? 테스트 주도 개발 - 하나몬

TDD란 Test Driven Development의 약자로 '테스트 주도 개발'이라고 한다.

hanamon.kr

미확인 예외(Unchecked Exception): 컴파일러가 확인할 수 없는 프로그램 코드에 의한 에러

 

GitHub - myBabyGrand/book_CleanCode

Contribute to myBabyGrand/book_CleanCode development by creating an account on GitHub.

github.com

특수 사례 패턴(Special Case Pattern): 특정 객체의 필드가 null일 가능성이 있다면 null을 처리하는 하위 클래스를 만들어서 처리하는 방식

 

레지스트리 패턴, 특수 사례 패턴

레지스트리 다른 객체가 공용 객체와 서비스를 찾기 위해 사용하는 잘 알려진 객체 어떤 객체를 찾으려는 경우 찾으려는 객체와 연결된 다른 객체에서 시작해 이 연결을 따라 검색하는 것이 일

harrislee.tistory.com

 

댓글