노마드코더

 

 

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

  • 켄트 벡이 제시한 단순한 설계 규칙 네 가지(중요도 순)
    • 모든 테스트를 실행한다.
    • 중복을 없앤다.
    • 프로그래머 의도를 표현한다.
    • 클래스와 메서드 수를 최소로 줄인다.
  • 테스트를 철저히 거쳐 모든 테스트 케이스를 통과하는 시스템은 '테스트가 가능한 시스템'이다.
  • TEMPLATE METHOD 패턴은 고차원 중복을 제거할 목적으로 자주 사용하는 기법이다.

  • 자신이 이해하는 코드를 짜기는 쉽다.
    => 하지만 나중에 유지보수할 사람이 코드를 짜는 사람만큼이나 문제를 깊이 이해할 가능성은 희박하다.

 

 

 

 

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

  1. 켄트 벡이 제시한 설계는 결국 지금까지 읽은 클린코드 내용을 지키는 것
  2. 테스트 코드의 중요성
    => 테스트가 불가능한 시스템은 검증도 불가능하다.
    => SRP를 준수하는 클래스는 테스트가 훨씬 더 쉽다.
    => 테스트 케이스를 만들기 쉬운 코드는 결국 객체 지향의 목표를 저절로 도달하게 된다.

 

 

 

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

  • TEMPLATE METHOD 패턴
    • 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화 할 때 유용하다.
    • 상속을 통해 슈퍼클래스의 기능을 확장할 때 사용하는 가장 대표적인 방법. 변하지 않는 기능은 슈퍼클래스에 
      만들어두고 자주 변경되며 확장할 기능은 서브클래스에서 만들도록 한다. - 토비의 스프링 3.1
  • 창발성이란?
    • 창발성이란 단순한 결합이 복잡한 결과를 나타내는 것을 의미.
    • 각각의 개미는 집을 지을 능력이 없지만, 작은 개미들의 상호작용을 통해 집이라는 결과물이 나온다.
    • 이처럼 작은 요소들의 상호작용의 반복이 전체 구조에 영향을 미친다.

 

 

 

👀 소감 3줄 요약

  • 테스트 코드 그리고 테스트 코드
  • 리팩터링을 통한 중복 제거로 객체 지향적 프로그래밍
  • 내가 이해하는 코드로만 짜면 결국 나중에 나도 못 알아볼 수 있다.

 

 

반응형

+ Recent posts