본문은 Fastcampus의 [이규원의 현실 세상의 TDD]를 수강하고 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다.
추상화
- 추상화란 주어진 맥락에 관계된 정보들을 남기고, 관계없는 정보를 잊어버리는 것
- 즉 목적에 따라 대상이 가지고 있는 특징들 중에 일부만 취하는 것
- 그 결과가 바로 모델
협력과 계약
- 대부분의 코드는 다른 코드와 협력
- 협력에 필요한 것은 '어떻게'가 아닌 '무엇'
- 인터페이스
- '무엇'을 표현
- 클라이언트 코드에게 반드시 필요한 정보
- 협력하는 코드 사이의 계약
- 추상화 결과
- 인터페이스란 시스템에 대한 모델
정보 은닉
- 효과적인 모듈화
- 조직 간 의사소통 최소화
- 변경 여파 최소화
- 시스템 이해 도움
- 공개된 설계 결정과 숨겨진 설계 결정
- 어려운 설계 결정과 변경될 것 같은 설계 결정을 숨겨라
'테스트코드 > 이규원의 현실 세상의 TDD: 안정감을 주는 코드 작성 방법' 카테고리의 다른 글
[이규원의 현실 세상의 TDD: 안정감을 주는 코드 작성 방법] 2부 3장: 입력과 출력 (0) | 2022.08.10 |
---|---|
[이규원의 현실 세상의 TDD: 안정감을 주는 코드 작성 방법] 2부 2장: 환경 변화와 적응력 (0) | 2022.08.10 |
[이규원의 현실 세상의 TDD: 안정감을 주는 코드 작성 방법] 8장: 프로그래머 피드백 (0) | 2022.08.07 |
[이규원의 현실 세상의 TDD: 안정감을 주는 코드 작성 방법] 7장: 테스트 주도 개발 (0) | 2022.08.05 |
[이규원의 현실 세상의 TDD: 안정감을 주는 코드 작성 방법] 6장: 정리된 코드 (0) | 2022.08.04 |