[클린코드] TIL #8. (7) 오류처리

jungmin kim·2022년 5월 6일
0

TIL (Today I Learned)

2022.05.06.

오늘 읽은 범위

7장. 오류처리

책에서 기억하고 싶은 내용을 적으세요

  • 오류 처리는 프로그램에 반드시 필요한 요소 중 하나일 뿐이다.
  • 간단히 말해, 뭔가 잘못될 가능성은 늘 존재한다. 뭔가 잘못되면 바로 잡을 책임은 바로 우리 프로그래머에게 있다.
  • 오류가 발생하면 예외를 던지는 편이 낫다. 그러면 호출과 코드가 더 깔끔해진다.
    논리가 오류 처리 코드와 뒤섞이지 않으니까
  • 예외에서 프로그램 안에다 범위를 정의한다는 사실은 매우 흥미롭다.
  • 먼저 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하게 코드를 작성하는 방법을 권장한다.
  • 오류 메시지에 정보를 담아 예외와 함께 던진다. 실패한 연산 이름과 실패 유형도 언급한다.
  • 애플리케이션이 로깅 기능을 사용한다면 catch블록에서 오류를 기록하도록 충분한 정보를 넘겨준다.
  • 하지만 애플리케이션에서 오류를 정의할 때 프로그래머에게 가장 중요한 관심사는 오류를 잡아내는 방법이 되어야 한다.
  • 인수로 null이 넘어오면 코드에 문제가 있다는 말이다.
  • 깨끗한 코드는 읽기도 좋아야 하지만 안정성도 높아야 한다.

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

오류 처리에 대한 개념을 이제서야 제대로 이해한 것 같다. 안그래도 요즘 fetch코드 에러 덕분에 try - catch문의 중요성을 몸으로 느낀 와중에 읽기 좋은 챕터였다.
코드를 짤 때, console.log를 활용하는 이유도 여기서 느낀다. log가 이래서 중요한거였다.
오류를 확인하기위해서 무조건 log를 찍어보고 방법을 찾아보는 것
이게 진정한 개발자의 자세일지도 모르겠다는 생각을 해본다.

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

  • 특수 사례 패턴

특수 사례
특정 사례에 대해 특수한 동작을 제공하는 하위 클래스

작동원리
특정 객체의 필드(변수)가 null일 가능성이 있다면 null을 처리하는 하위클래스를 만들어서 처리하자. 예를들어 고객 객체가 있을 때 null에 대한 검사를 피하고 싶다면 null 고객 객체를 만들면 된다. 고객 객체의 모든 메서드를 가지고 특수 사례에서 일부를 재정의한다. 이후에 null인 고객이 있으면 null 고객 객체의 인스턴스를 대신 사용하면 된다.
https://harrislee.tistory.com/63

0개의 댓글