[Book]Clean Architecture 1부
1부
1장
- 소프트웨어 아키텍쳐의 목표 : 필요한 시스템을 만들고 유지보수하는데 투입되는 인력을 최소화.
- 빨리 가는 유일한 방법은 제대로 가는 것이다.
2장
- 행위 : 이해관계자나 기계가 요구사항을 만족하도록 코드를 작성하고, 기계가 요구사항을 위반하면 디버거를 열고 문제를 고친다.
- 아키텍쳐 : 형태에 독립적이어야 하고, 그럴수록 더 실용적이다.
- 더 높은 가치? 저자는 아키텍쳐가 더 높은 가치를 지닌다고 말한다.
- 아이젠하워 매트릭스
- 행위는 긴급한 일을, 아키텍쳐는 중요한 일을 뜻한다.
- 긴급하고 중요한
- 긴급하지는 않지만 중요한
- 긴급하지만 중요하지 않은
- 긴급하지도 중요하지도 않은
- 다음과 같은 우선 순위가 있을 때, 아키텍쳐의 우선순위는 첫 번째와 두 번째 순위에 위치한다는 점을 주목하자.
- 세 번째 위치한 항목을 첫 번째로 격상시키는 실수는 아주 흔하게 일어난다.
- 업무 관리자는 보통 아키텍처의 중요성을 평가할 만한 능력을 겸비하지 못하기 때문에, 개발자는 딜레마에 빠진다.
- 소프트웨어 개발자를 고용하는 이유는 바로 이 딜레마를 해결하기 위해서다.
- 행위는 긴급한 일을, 아키텍쳐는 중요한 일을 뜻한다.
- 효율적인 소프트웨어 개발팀은 아키텍처를 위해 투쟁하며, 소프트웨어 개발자인 당신도 이해관계자 임을 명심하라. 소프트웨어를 안전하게 보호해야 할 책임이 있으므로, 당신의 역할 중 하나이며, 당신의 책무 중 하나다.
- 아키텍처가 후순위가 되면 시스템을 개발하는 비용이 더 많이 들고, 일부 또는 전체 시스템에 변경을 가하는 일이 현실적으로 불가능해진다.
- 이러한 상황이 발생하도록 용납했다면, 소프트웨어 개발팀이 스스로 옳다고 믿는 가치를 위해 충분히 투쟁하지 않았다는 뜻이다.
댓글남기기