노마드코더

 

 

 

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

  • 깨끗한 코드와 오류 처리는 확실히 연관성이 있다.
    • 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다.
  • Try-Catch-Finally 문부터 작성하라.
    • 예외에서 프로그램 안에다 범위를 정의한다는 사실은 매우 흥미롭다.
    • 어떤 면에서 try 블록은 트랜잭션과 비슷하다.
      try 블록에서 무슨 일이 생기든지 catch 블록은 프로그램 상태를 일관성 있게 유지해야 한다.
      그러므로 예외가 발생할 코드를 짤 때는 try-catch-finally 문으로 시작하는 편이 낫다.
  • null을 반환하지 마라
    • null을 반환하는 코드는 일거리를 늘릴 뿐만 아니라 호출자에게 문제를 떠넘긴다.
    • 누구 하나라도 null 확인을 빼먹는다면 애플리케이션이 통제 불능에 빠질지도 모른다.
    • 메서드에서 null을 반환하고픈 유혹이 든다면 그 대신 예외를 던지거나 특수 사례 객체를 반환한다.
    • null을 반환하면 NullPointerException이 발생 할 가능성이 늘어나게 된다.
  • null을 전달하지 마라
    • 대다수 프로그래밍 언어는 호출자가 실수로 넘기는 null을 적절히 처리하는 방법이 없다.
      그렇다면 애초에 null을 넘기지 못하도록 금지하는 정책이 합리적이다.
    • 인수로 null이 넘어오면 코드에 문제가 있다는 말이다.
  • 깨끗한 코드는 읽기도 좋아야 하지만 안정성도 높아야 한다.
    • 오류 처리를 프로그램 논리와 분리해 독자적인 사안으로 고려하면 튼튼하고 깨끗한 코드를 작성할 수 있다.
    • 오류 처리를 프로그램 논리와 분리하면 독립적인 추론이 가능해지며 코드 유지보수성도 크게 높아진다.

 

 

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

  1. 어디서 들은지 모르겠지만, null처리를 잘 해줘야 한다는 얘기를 들었었습니다.
    하지만 프로젝트에 작성한 코드에서 null을 그냥 반환해주는 경우도 있었던 것 같습니다.
  2. 책을 읽으면서 아직 이해가 안되는 부분이 많았습니다.
    => 한번 더 읽고 생각을 할 예정입니다.
  3. 팀 프로젝트에서 예외처리를 잘 못해서 문제가 생겼던 적이 있었습니다.
    이 때는 예외처리를 안 넣어서 문제가 생긴게 아니라 적절한 예외처리를 넣지 못했기 때문이였습니다.
    => 굳이 넣지 말아야 할 예외처리를 넣어서 문제 발생

 

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

  • Try-Catch-Finally 보다는 예외를 강제로 발생시키는 방법을 사용하고 있는데 어떤게 맞는지 궁금합니다.
    • Try-Catch-Finally는 예외를 명시하기 힘들기 때문에 직접 예외를 throw 해주는 방식을 사용하고 있었습니다.
    • 직접 예외를 throw 하면서 고민 되었던 것은 프로그래머가 생각하는 예외에만 처리가 가능하다는 점입니다.
      그에 반대로 Try-Catch-Finally 는 다양한 예외를 처리가 가능하다는 점이였습니다.
    • Try-Catch-Finally를 사용하면 코드를 깔끔하게 작성하는게 정말 힘들다고 느꼈습니다.
    • Try-Catch-Finally를 사용해야 한다면 어느 부분에 사용해야 할 지 아직은 감이 안잡힙니다.

 

 

 

👀 소감 3줄 요약

  • Try-Catch-Finally 문부터 작성하라
  • null은 반환하지도 전달하지도 마라! (NullPointerException 발생)
  • 깨끗한 코드는 읽기도 좋아야 하지만 안정성도 높아야 한다.

 

 

 
반응형

+ Recent posts