Community

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

← Go back
7장 오류 처리
#clean_code
2년 전
559

👉TIL (Today I Learned) 날짜

2022 03 04

오늘 읽은 범위

7장 오류처리

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

  • 깨끗한 코드와 오류 처리는 확실히 연관성이 있다.

  • 오류 코드보다 예외를 사용하라.

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

예외가 발생할 코드를 짤 때는 try-catch-finally 문으로 시작하는 편이 낫다.

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

  • 미확인unchecked 예외를 사용하라

  • 예외에 의미를 제공하라

오류 메시지에 정보를 담아 예외와 함께 던진다. 실패한 연산 이름과 실패 유 형도 언급한다.

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

애플리케이션에서 오류를 정의할 때 프로그래머에게 가장 중요한 관심사는 오류를 잡아내는 방법이 되어야 한다.

  • 정상 흐름을 정의하라

  • null을 반환하지 마라

null을 반환하는 코드는 일거리를 늘릴 뿐만 아니라 호출자에게 문제를 떠넘긴다.

  • null을 전달하지 마라

인수로 null이 넘어오면 코드에 문제가 있다는 말이다. 이런 정책을 따 르면 그만큼 부주의한 실수를 저지를 확률도 작아진다.

👉오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

처음 java를 배웠던 때가 생각났다.

모든 처리를 if else로 했었을 때가 있는데, try catch를 제대로 이해하지 못한 채 if만 주구장창 썼던 것 같다. 그렇게 나는 더티코드를 막 짜고 있었던 거 같다. 그렇게 휘갈겼을 무렵...try catch가 더 효율적이고 좋은 코드인데 왜 자꾸 if 절을 쓰는거냐는 지적을 받았다. 지적을 안받기 위해 나는 습관적으로 try catch를 썼었다.하지만 프로젝트를 진행하면서, 오류가 나도 쉽게 처리가 가능하고, 너무나도 깔끔해진 코드를 보면서 무지했던 나를 반성하게 됐던 것 같다.

이런 기본적인 예외를 사용하는 법 외에도 클린코드가 단순히 깔끔한 코드가 아닌, 오류가 없는 코드라는 내용을 설명하는 것을 보며 내가 알지 못했던 또다른 오류해결 방법들을 배우게 된 시간이었다.

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

특수사례패턴이 정확히 뭘까....????????

특수 사례 패턴 (Special Case Pattern)이라고 한다. 클래스를 만들거나 객체를 조작해 특수 사례를 처리하는 방식이다. 그러면 클라이언트 코드가 예외적인 상황을 처리할 필요가 없어진다. 왜냐하면 클래스나 객체가 상황을 캡슐화해서 처리하기 때문이다.

아직은 경험이 많지 않아서, 겨우 이해했던 거 같다. 몇번 더 읽어봐야 정확하게 말하고자 하는 바를 이해할것 같다.