[클린 아키텍처] 1장. 설계와 아키텍처란?

혀어어언·2025년 7월 9일
0

📖 [1장] 설계와 아키텍처란

📘 클린 아키텍처 북스터디 정리입니다

📚 도서: 로버트 C. 마틴 《Clean Architecture》
🧑‍💻 목적: 올바른 설계에 대한 감각과 습관을 익히기 위해
🗓️ 진행 기간: 2025년 7월 ~ 매주 2장


✅ 핵심 요약 (Key Takeaways)

이 장의 핵심 문장은?

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

저자가 전달하고자 하는 메시지 요약

  • 처음부터 올바르게 설계하고, 올바르게 코드를 작성하자

💡내용 정리

소개

프로그램이 동작하도록 만드는 데 엄청난 수준의 지식과 기술이 필요하지는 않다

올바른 소프트웨어를 만들기 위해서 개발자에게 필요한 역량

  • 적정 수준의 지식과 기술
  • 사고력과 통찰력
  • 어느 정도의 훈련과 헌신
  • 무엇보다 기술을 향한 열정과 전문가가 되려는 열망이 필수

설계와 아키텍처

정의

  • 아키텍처: 저 수준의 세부사항과는 분리된 고수준의 무언가
  • 설계: 저수준의 구조 또는 결정사항 등
  • 고수준과 저수준은 연속적인 의사결정의 스펙트럼일 뿐, 경계는 불명확
  • 저수준의 세부사항과 고수준의 구조는 모두 소프트웨어 전체 설계의 구성요소

소프트웨어 아키텍처의 목표:

필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 것

  • 좋은 설계란 이처럼 단순명료함

개발자의 과신

거짓말 1: "코드는 나중에 정리하면 돼"

  • "코드는 나중에 정리하면 돼. 당장은 시장에 출시하는 게 먼저야"
  • 개발자의 과신: 생산성을 유지할 수 있다고 자신의 능력을 과신
  • 현실: 시장의 압박은 줄지 않으며 정리할 '나중'은 없음

거짓말 2: "지저분한 코드를 작성하면 장기적으로만 생상성 감소"

  • "지저분한 코드를 작성하면 단기간에는 빠르게 갈 수 있고 장기적으로 볼때만 생산성이 낮아진다"
  • 개발자의 과신: 본인이 엉망인 코드를 만드는 태세에서, 나중에 기회가 되면 엉망이 된 코드를 정리하는 태세로 전환할 수 있다고 자신의 능력을 과신
  • 현실: 시간 척도와 무관하게 엉망으로 만들면 깔끔하게 유지할 때보다 항상 더 느림

결론

빨리 가는 유일한 방법은 제대로 가는 것이다.
자신을 과신한다면 재설계하더라도 원래의 프로젝트와 똑같이 엉망으로 내몰린다

0개의 댓글