Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back

TIL 7장. 오류 처리

#clean-code
2년 전
577

🗓️ TIL (Today I Learned)

2024.02.06 ~2024.02.07

🔖 오늘 읽은 범위

7장. 오류 처리

🤟 3줄 요약

- 깨끗한 코드는 읽기도 좋아야 하지만 안정성도 높아야 한다.

- 예외 발생 가능성 고려하여 코드 작성, 로깅 및 호출자 고려

- null 반환 및 전달을 최대한 피하고, 예외 또는 특수 객체 사용, 깨끗하고 안정적인 코드 구현

👨‍💻 책에서 기억하고 싶은 내용.

  • 뭔가 잘못될 가능성은 늘 존재한다. 뭔가 잘못되면 바로 잡을 책임은 프로그래머에게 있다. (p130)

  • 오류 코드보다 예외를 사용하라 (p130)

- 오류가 발생하면 예외를 던지는 편이 낫다.

- 논리가 오류 처리 코드와 뒤섞이지 않으니까 호출자 코드가 더 깔끔해진다.

  • Try-Catch-Finally 문부터 작성하라 (p132)

- 예외가 발생할 코드를 짤 때는 Try-Catch-Finally 문으로 시작.

- try 블록에서 무슨 일이 생기든지 호출자가 기대하는 상태를 정의하기 쉬워진다.

  • 예외에 의미를 제공하라 (p135)

- 예외를 던질 때 전후 상황을 충분히 덧붙인다.

  • 호출자를 고려해 예외 클래스를 정의하라 (p135)

- 외부 API를 사용할 때는 감싸기 기법이 최선이다. 외부 API를 감싸면 외부 라이브러리와 프로그램 사이에서 의존성이 크게 줄어든다.

- 정상 흐름을 정의하라 (p137)

- 예외가 논리를 따라가기 어렵게 만들었다면 클래스를 만들거나 객체를 조작해 특수 사례를 처리한다. 그러면 클라이언트 코드가 예외적인 상황을 처리할 필요가 없어진다.

  • null을 반환하지 마라 (p138)

- 메서드에서 null을 반환하고픈 유혹이 든다면 그 대신 예외를 던지거나 특수 사례 객체를 반환한다.

  • null을 전달하지 마라 (p140)

- null을 넘기지 못하도록 금지하는 정책이 합리적이다.

  • 깨끗한 코드는 읽기도 좋아야 하지만 안정성도 높아야 한다. (p142)

💭 오늘 읽은 소감은? 떠오르는 생각

- 뭔가 잘못되면 바로 잡을 책임은 프로그래머에게 있다.

- 예외 활용과 null 제거는 익숙한 내용인데, 특수 사례 패턴? 용어가 어렵다.

- 특수 사례 패턴 (Special Case Pattern)

- 일반적인 로직과 다르게 처리해야 하는 특수한 경우들을 별도로 분리하여 클래스를 만들거나 객체를 조작해 특수 사례를 처리. 코드의 가독성과 유지 관리성을 향상시킴

☕공부법 공유