프로그래밍/책

[클린 아키텍처 -소프트웨어 구조와 설계의 원칙]

젊은 프로그래머라면 이러한 주장이 말도 안 된다고 여길지도 모른다.
요즘에는 모든 것이 새롭고 달라졌으며, 과거의 규칙은 사라졌다고 주장할지도 모른다.
만약 정말로 이렇게 생각한다면 대단한 오산이다.
규칙은 바뀌지 않았다.
모든 새로운 언어, 모든 새로운 프레임워크, 모든 패러다임에도 불구하고,
이 규칙은 앨런 튜링이 최초로 기계어 코드를 작성한 1946년에서 달라지지 않았다.
하지만 바뀐게 딱 하나 있다.
그 시절의 우리는 이 규칙이 무엇인지를 알지 못했다.
결과적으로 우리는 이 규칙을 어겼고, 어겼고, 또 어겼다.
이제 우리는 반세기에 걸친 경험을 바탕으로 이 규칙이 무엇인지 깨닫게 되었다.
그리고 이 책은 바로 이 규칙, 세월이 흘러도 변치 않는 그 규칙에 관한 것이다.

 


1장 -설계와 아키텍처란?

  • 개발자는 "코드는 나중에 정리하면 돼. 당장은 시장에 출시하는 게 먼저야!"라는 흔해 빠진 거짓말에 속는다

이렇게 속아 넘어간 개발자라면 나중에 코드를 정리하는 경우는 한 번도 없다.

바로 다음에 만들어야 할 새로운 기능이 기다리고 있고, 다음 기능, 또 다음 기능이 기다리고 있기 때문이다.

빨리 가는 유일한 방법은 제대로 가는 것이다.


14장 -컴포넌트 결합

  • 안정성 지표

Fan-in : 안으로 들어오는 의존성. 컴포넌트 내부 클래스에 의존하는 컴포넌트 외부의 클래스 개수

Fan-out : 바깥으로 나가는 의존성. 컴포넌트 외부의 클래스에 의존하는 컴포넌트 내부의 클래스 개수

I(불안정성) : I = Fan-out / (Fan-in + Fan-out)

=> 이 지표는 [0, 1] 범위의 값을 갖는다. 0이면 가장 안정된 컴포넌트, 1이면 가장 불안정한 컴포넌트이다.


19장 -정책과 수준

  • '수준(level)'을 엄밀하게 정의하자면 '입력과 출력까지의 거리'다.
  • 시스템의 입력과 출력 모두로부터 멀리 위치할수록 정책의 수준은 높아진다.
  • 입력과 출력을 다루는 정책이라면 시스템에서 최하위 수준에 위치한다.

'프로그래밍 > ' 카테고리의 다른 글

클린코드 2장  (0) 2022.07.12
클린코드 1장  (0) 2022.07.07
책에 대한 글들  (0) 2021.07.12