노마드북클럽/클린코드

📚 6장. 객체와 자료구조

햅삐한 포메라리안 2022. 3. 1. 13:28
반응형

TIL (Today I Learned)

2022.03.01

 

오늘 읽은 범위

6장. 객체와 자료구조

 

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

  • 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. (중략) 아무 생각 없이 조회/설정 함수를 추가하는 방법이 가장 나쁘다. (p.119)
  • 복잡한 시스템을 짜다 보면 새로운 함수가 아니라 새로운 자료 타입이 필요한 경우가 생긴다. 이때는 클래스와 객체 지향 기법이 가장 적합하다. 반면, 새로운 자료 타입이 아니라 새로운 함수가 필요한 경우도 생긴다. 이때는 절차적인 코드와 자료 구조가 좀 더 적합하다. (p.122)
  • (어떤) 시스템을 구현할 때, 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다. 우수한 소프트웨어 개발자는 편견없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선태한다. (p.128)
  • 기차 충돌: 일반적으로 조잡하다 여겨지는 방식으로 피하는 편이 좋다. (p.123-124)
final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath();
final String outputDir = ctxt.options.scratchDir.absolutePath;

 

  • 점, 슬래시, 파일 확장자, File 객체를 부주의하게 마구 뒤섞으면 안 된다. (p.125)

 

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

  • 일단 6장에서 제일 중요한 것은 클래스와 객체 지향 기법을 사용할 것인지, 절차적인 코드와 자료 구조를 사용할 것인지를 구분하는 것 같다.
  • 여름이 오면 여름 옷을 꺼내고 겨울 옷은 모두 집어 넣는다. // 겨울이 오면 겨울 옷을 꺼내고 여름 옷은 모두 집어 넣는다.
  • 필요할 때 꺼내 사용하기 // 그리고 어떤 것이 필요한지 구분하는 눈을 갖기

 

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

  • 활성 레코드
  • 해결책은 당연하다. 활성 레코드는 자료 구조로 취급한다. 비즈니스 규칙을 담으면서 내부 자료를 숨기는 객체는 따로 생성한다. (여기서 내부 자료는 활성 레코드의 인스턴스일 가능성이 높다.) (p.127)
  • 디미터 법칙은 잘 알려진 휴리스틱(heuristic)으로, 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙이다. (p.123)

 

p.120
p.121

반응형

'노마드북클럽 > 클린코드' 카테고리의 다른 글

✨✨ (외전) 끝까지 간다 스케쥴 ✨✨  (0) 2022.03.04
📚 7장. 오류처리  (0) 2022.03.02
📚 5장. 형식 맞추기  (0) 2022.02.26
📚 4장. 주석  (0) 2022.02.23
✔️ 미션 Mission (1)  (0) 2022.02.21