왜 당신의 코드는 당신의 프레임워크가 아닌 당신의 비즈... 노트

왜 당신의 코드는 당신의 프레임워크가 아닌 당신의 비즈니스와 같은 언어를 사용해야 하는가

이 텍스트는 소프트웨어 엔지니어링에서 사용되는 언어를 비즈니스 언어와 일치시키는 것의 중요성을 논합니다. 제품 관리자나 운영 분석가가 이해하지 못하는 기술 용어를 사용하면 정신적인 번역의 인지적 비용이 발생합니다. 이러한 의사소통의 마찰은 코드 실행은 되지만 비즈니스 규칙을 충족하지 못하는 개념적 노이즈와 버그로 이어질 수 있습니다. Domain-Driven Design의 개념인 Ubiquitous Language는 코드의 용어가 도메인의 실제 어휘를 반영할 것을 제안합니다. 이는 단순히 비즈니스 전문 용어를 채택하는 것이 아니라, 엔지니어링이 모호한 정의에 도전하는 협업 프로세스입니다. Ubiquitous Language는 서로 다른 영역의 기능을 그룹화하려는 "God Classes"를 피하면서 Bounded Context 내에서 강화됩니다. 보험, 신용, 투자와 같은 별개의 맥락을 가진 금융 협동조합에서 회원는 각 맥락에서 다르게 모델링되어야 합니다. 보험 맥락에서는 보험 가입자, 신용 맥락에서는 대출자, 투자 맥락에서는 투자자로 불립니다. 이 접근 방식은 개념 모델을 깨끗하고 분리된 상태로 유지합니다. 합법적인 Ubiquitous Language를 채택하면 피드백 루프가 개선되고, 조정 회의가 줄어들며, 아키텍처가 보호됩니다. 따라서 코드는 비즈니스의 살아있는 문서가 됩니다.