독서일지/클린 코드

클린 코드 독서일지 - Day 14

Sadie Kim 2023. 11. 8. 23:34

Try-Catch-Finally 문부터 작성하라

예외가 발생할 코드를 짤 때는 try-catch-finally 문으로 시작하는 편이 낫다.
-> 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하게 코드를 작성하고, 이를 기반으로 나머지 논리를 추가하는 방법을 권장한다. (try 블록의 트랜잭션 본질을 유지하기 쉬움)

미확인 예외를 사용하라

자바에는 확인된 예외라는 게 있는데, 이는 OCP를 위반하므로 일반적인 애플리케이션에서는 쓰지 않는 게 좋다.

예외에 의미를 제공하라

예외를 던질 때 충분한 정보를 넘겨준다.

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

예외에 대응하는 방식이 거의 동일할 경우엔, 래퍼 클래스를 하나 정의해서 중복 코드를 줄일 수 있다.

정상 흐름을 정의하라

예외 처리를 활용한 구현이 로직 이해를 어렵게 만든다면, 클래스나 객체 내에서 특수 사례를 처리해서 예외 로직을 대신한다. (특수 사례 패턴)

null을 반환하지 마라

null을 반환하는 습관은 에러를 일으키기 쉽다. => 예외를 던지거나 특수 사례 객체를 반환하자.

null을 전달하지 마라

역시 에러를 일으키기 쉽다. null을 넘기지 못하도록 합의하는 정책이 합리적이다.

결론

오류 처리를 비즈니스 로직과 분리하면 튼튼하고 깨끗한 코드를 작성할 수 있다.