클린 코드(Clean Code)/클린 아키텍처요약
-
2장 - 두 가지 가치에 대한 이야기클린 코드(Clean Code)/클린 아키텍처요약 2022. 11. 20. 00:00
모든 소프트웨어 시스템은 이해관계자에게 서로 두 가지 가치를 제공합니다. 바로 행위와 구조입니다. 개발자는 두 가지 가치를 반드시 높게 유지해야 하는 책임이 있습니다. 하지만 불행하게도 한 가지 가치에만 집중하고 나머지 가치는 배제하곤 합니다. 행위 프로그래머를 고용하는 이유는 이해관계자를 위해 기계가 수익을 창출하거나 비용을 절약하도록 만들기 위해서입니다. 그리고 이해관계자의 기계가 요구사항을 만족하도록 코드를 작성합니다. 구조 소프트웨어라는 단어를 떠올리게 되면 부드러운 + 제품이라는 합성어입니다. 즉, 소프트웨어를 만든 이유는 기계의 행위를 쉽게 변경할 수 있도록 하기 위해서입니다. 만약 기계의 행위를 바꾸는 일을 어렵게 만들고자 했다면 하드웨어라고 불렸을 것입니다. 소프트웨어가 가진 본연의 목적을..
-
1장 - 설계와 아키텍처란?클린 코드(Clean Code)/클린 아키텍처요약 2022. 11. 19. 00:01
설계와 아키텍처의 정의 설계와 아키텍처 사이의 혼란을 없애고 두 용어에 대해 완전하게 정의하고자 합니다. 첫 번째로 둘 사이의 차이는 없습니다. 아키텍처는 저수준의 세부사항과는 분리된 고수준의 무언가를 가리킬 때 흔히 사용되는 반면 설계는 저수준의 구조 또는 결정사항 등을 의미할 때가 많습니다. 하지만 아키텍트가 실제로 하는 일을 살펴보면 이러한 구분은 무의미합니다. 집을 설계하는 아키텍트가 있고 이 집은 아키텍처를 가지고 있습니다. 집의 형태, 외관, 입체도, 공간이나 방의 배치가 여기에 포함됩니다. 하지만 도면을 살펴보면 무수히 많은 저수준의 세부사항도 확인할 수 있습니다. 콘센트, 전등, 스위치, 전등이 모두 어디에 위치하는지 도면에서 알 수 있습니다. 다시 말해 고수준의 결정사항을 지탱하는 모든 ..