ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2장 - 두 가지 가치에 대한 이야기
    클린 코드(Clean Code)/클린 아키텍처요약 2022. 11. 20. 00:00
    728x90

    모든 소프트웨어 시스템은 이해관계자에게 서로 두 가지 가치를 제공합니다.

    바로 행위와 구조입니다.

     

    개발자는 두 가지 가치를 반드시 높게 유지해야 하는 책임이 있습니다.

    하지만 불행하게도 한 가지 가치에만 집중하고 나머지 가치는 배제하곤 합니다.

     

    행위

    프로그래머를 고용하는 이유는 이해관계자를 위해 기계가 수익을 창출하거나 비용을 절약하도록 만들기 위해서입니다.

    그리고 이해관계자의 기계가 요구사항을 만족하도록 코드를 작성합니다.

     

    구조

    소프트웨어라는 단어를 떠올리게 되면 부드러운 + 제품이라는 합성어입니다.

    즉, 소프트웨어를 만든 이유는 기계의 행위를 쉽게 변경할 수 있도록 하기 위해서입니다.

    만약 기계의 행위를 바꾸는 일을 어렵게 만들고자 했다면 하드웨어라고 불렸을 것입니다.

     

    소프트웨어가 가진 본연의 목적을 추구하기 위해 소프트웨어는 부드럽고 변경하기 쉬워야 합니다.

     

    더 높은 가치

    행위와 구조 둘 중에 어떤 가치가 더 중요할까요?

    업무 관리자에게 묻는다면 행위가 더 중요하다고 대답할 것입니다.

    개발자에게 물어도 행위가 더 중요하다고 대답할 것입니다.

     

    하지만 로버트 C. 마틴은 극단적인 사례를 들어 구조가 더 중요함을 강조합니다.

    변경이 불가능하지만 완벽하게 동작 vs 동작은 하지 않지만 변경하기 쉬움

    업무 관리자에게 변경이 가능한 시스템을 원하는지 묻는다면 당연히 그렇다고 답할 것이며 추후 업무 관리자의 변경 요청에 "변경 비용이 너무 커서 현실적으로 적용할 수 없다"라고 대답한다면 시스템을 방치했다며 개발자에게 화를 낼 가능성이 높습니다.

     

     

    개인적인 견해

    구조와 행위는 모두 중요하지만 둘중 하나를 선택해야 한다면 그래도 행위가 더 높은 우선순위를 가져야 한다고 생각합니다.

    '클린 코드(Clean Code) > 클린 아키텍처요약' 카테고리의 다른 글

    8장 - OCP: 개방-폐쇄 원칙  (0) 2022.11.24
    7장 - SRP : 단일 책임 원칙  (0) 2022.11.23
    4장,5장,6장  (0) 2022.11.22
    3장 - 패러다임 개요  (0) 2022.11.21
    1장 - 설계와 아키텍처란?  (0) 2022.11.19

    댓글

Designed by Tistory.