11장: 코드 구조 따르기

11장: 코드 구조 따르기

소프트웨어는 현실 세계의 한 측면에 대한 모델 입니다

범위와 출처에 따른 구조 분류

구조의 분류를 4가지로 나눈다

  • 딤간
  • 팀내
  • 코드에 있는 경우
  • 사람에 있는 경우

매크로 아키텍처는 팀 간 구조에 관한 것
마이크로 아키텍처는 팀 내 구조에 관한것

조직 구성과 그 조직이 만든 시스템 구조는 닮는 경향이 있다 - 콘웨이 법칙

행위를 코드화하는 세 가지 방법

  • 제어 흐름
  • 데이터 구조
  • 데이터

데이터에 행위 코드화하기

코드를 캡슐화해야 하지만 변경점을 노출 하지 않아야 한다

구조 노출을 위한 코드 추가

예측 대신 관찰, 그리고 경험적 기술 사용

  • 변경되지 않으면 아무것도 하지 말아라
  • 예측할 수 없이 변경되는 경우 취약성을 피하기 위해서만 리팩터링 해라
  • 그렇지 않으면 과거에 발생한 변경 유형을 적용해 리팩터링 해라

코드를 이해하지 않고도 안전성을 확보하는 방안

테스트를 통한 안전성 확보

숙달을 통한 안전성 확보

도구의 지원을 통한 안전성 확보

공식 인증을 통한 안전성 확보

내결함성을 통한 안전성 확보

활용되지 않은 구조 이용

추출 및 캡슐화에 공백 활용

통합에 중복 코드 활용

캡슐화로 공통 접사 활용

동적 실행으로 런타임 유형 활용

참조