Why care about choosing the architecture?

아키텍처를 왜 선택해야하고, 그 선택이 신중해야하는 것일까?

우선, 아키텍처가 없다면 프로젝트 몸집이 커졌을 때 디버깅이 어려워진다. 경험적으로만 봤을 때도 코드 내의 모든 클래스와 속성을 구조적으로 정리해두지 않는 이상 버그가 발생한 부분을 거슬러 올라가서 찾아야하는 어려움이 있었다.

또한, 팀 작업 시에는 아키텍처가 명확해야 의사소통이 되고, 코드 수정도 원활할 것이다.

그렇다면, 좋은 아키텍처란 무엇일까?

좋은 아키텍처의 세가지 요소를 살펴보자.

  1. Balanced distribution of responsibilities among entities with strict roles.

2. Testability usually comes from the first feature.

3. Ease of use and a low maintenance cost.

이 세가지 조건을 모두 만족하는 아키텍처는 없지만, 프로젝트 성격에 맞는 아키텍처를 선택하고 결과 구현에만 급급한 것이 아니라 좋은 코드가 무엇인지 항상 생각하는 것이 필요한 것 같다.

MV(X) essentials