클린 코드 Assignment #11 [7장. 객체와 자료구조]

Ellie·2022년 5월 6일
0

클린코드

목록 보기
9/11

TIL (Today I Learned)

2022.05.05 ~ 2022.05.06

오늘 읽은 범위

6장. 오류 (130p ~ 152p)

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

깨끗한 코드와 오류 처리는 확실히 연관성이 있다. (...중략) 오류처리는 중요하다. 하지만 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다.

고상하게 오류를 처리하는 기법과 고려 사항 몇 가지

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

try {
  functionThatMightThrow();
} catch (error) {
  // 방법 1. console.log보다 console.error을 사용하기.
  console.error(error);
  // 방법 2.유저에게 에러 알리기.
  notifyUserOfError(error);
  // 방법 3. 서비스 자체에 에러를 기록하기.
  reportErrorToService(error);
}

출처: 자바스크립트 클린코드

자바스크립트에서 예외 처리는 console.log로 기록하기보다는 위의 3가지 방법으로 처리하는 것이 더 좋다.

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

어떤면에서 try블록은 트랜잭션(작업단위)과 비슷하다.
try 블록에서 무슨 일이 생기든지 catch 블록은 프로그램 상태를 일관성 있게 유지해야 한다. 그러므로 예외가 발생할 코드를 짤 때는 try-catch-finally 문으로 시작하는 편이 낫다. 그러면 try 블록에서 무슨 일이 생기든지 호출자가 기대하는 상태를 정의하기 쉬워진다. (132p)

  • 예외에 의미를 제공하라
    오류 메시지에 정보를 담아 예외와 함께 던진다. 실패한 연산 이름과 실패 유형도 언급한다. (135p)

  • 호출자를 고려해 예외 클래스를 정의하라
    오류를 분류하는 방법은 오류가 발생한 위치로 분류하거나 오류가 발생한 컴포넌트로 분류한다. 아니면 유형으로도 분류가 가능하다. 하지만 애플리케이션에서 오류를 정의할 때 프로그래머에게 가장 중요한 관심사는 오류를 잡아내는 방법이 되어야 한다. (135p)

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

역시 오늘도 자바 예시가 너무 많아서 이해가지 않는 문장들이 많았다... try catch같은 오류 처리 코드는 잘 사용해보지 않아서 더 자주 사용해봐야겠다는 생각을 했다. 그리고 오류 처리 코드를 작성할 때 비즈니스 로직과 잘 구분하여 작성할 수 있어야겠다는 생각이 들었다. 책이 점점 어려워지고 있는 것 같다... 다른 분들 TIL들도 많이 봐야겠다. 이 책은 실력이 올라가서 읽을 때 느낌이 달라지고 더 생각할 것이 많아지는 책인 것 같다. 계속해서 여러번 읽어봐야겠다.

profile
정말로 아는 것인지 항상 의심하기

0개의 댓글