단기 목표 뿌수기/클린코드
[노개북 - 11] 7장. 오류처리
전고흐
2022. 3. 3. 23:01
728x90
TIL (Today I Learned)
2022.03.03
오늘 읽은 범위
7장. 오류처리
책에서 기억하고 싶은 내용을 써보세요.
- 오류 처리는 중요하다. 하지만 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다. (p.130)
- 어떤 면에서 try 블록은 트랜잭션과 비슷하다. try 블록에서 무슨 일이 생기든지 catch 블록은 프로그램 상태를 일관성 있게 유지해야 한다. (p.132)
- 자바에는 Collections.emptyList()가 있어 미리 정의된 읽기 전용 리스트를 반환한다. (p.140)
- 메서드에서 null을 반환하는 방식도 나쁘지만 메서드로 null을 전달하는 방식은 더 나쁘다. (p.140)
- 대다수 프로그래밍 언어는 호출자가 실수로 넘기는 null을 적절히 처리하는 방법이 없다. 그렇다면 애초에 null을 넘기지 못하도록 금지하는 정책이 합리적이다. 즉,인수로 null이 넘어오면 코드에 문제가 있다는 말이다. (p.142)
- 깨끗한 코드는 읽기도 좋아야 하지만 안정성도 높아야 한다. (p.142)
- 오류 처리를 프로그램 논리와 분리하면 독립적인 추론이 가능해지며 코드 유지보수성도 크게 높아진다. (p.142)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- null오류처리를 가장 많이 했던 것 같다. 항상 이 오류처리를 하면서, 필요하긴 하지만 모든 인수를 다 확인하려니 너무 코드가 지저분해졌다. 그나마 깔끔하게 보이려 if문 안에서 함수를 호출했는데.. try catch문을 별도로 사용해 본 적이 없다. 알아봐야 할 것 같다!
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 특수 사례 패턴(Special Case Pattern). 클래스를 만들거나 객체를 조작해 특수 사례를 처리하는 방식이다. 그러면 클라이언트 코드가 예외적인 상황을 처리할 필요가 없어진다. 클래스나 객체가 예외적인 상황을 캡슐화해서 처리하므로. (p.138)
728x90