11장: 코드 구조 따르기
소프트웨어는 현실 세계의 한 측면에 대한 모델 입니다
범위와 출처에 따른 구조 분류
구조의 분류를 4가지로 나눈다
- 딤간
- 팀내
- 코드에 있는 경우
- 사람에 있는 경우
매크로 아키텍처는 팀 간 구조에 관한 것
마이크로 아키텍처는 팀 내 구조에 관한것
조직 구성과 그 조직이 만든 시스템 구조는 닮는 경향이 있다 - 콘웨이 법칙
행위를 코드화하는 세 가지 방법
- 제어 흐름
- 데이터 구조
- 데이터
데이터에 행위 코드화하기
코드를 캡슐화해야 하지만 변경점을 노출 하지 않아야 한다
구조 노출을 위한 코드 추가
예측 대신 관찰, 그리고 경험적 기술 사용
- 변경되지 않으면 아무것도 하지 말아라
- 예측할 수 없이 변경되는 경우 취약성을 피하기 위해서만 리팩터링 해라
- 그렇지 않으면 과거에 발생한 변경 유형을 적용해 리팩터링 해라