피드로 돌아가기
A roof calculator that multiplies length by width is lying to you
Dev.toDev.to
Backend

단순 면적 계산을 넘어선 Parametric Modeling 기반 자재 산출 시스템 설계

A roof calculator that multiplies length by width is lying to you

Mark2026년 6월 18일7intermediate

Context

단순 평면 면적(Length x Width) 계산 방식은 지붕의 경사도(Pitch)와 외곽선(Edge) 길이를 무시하여 실제 필요 자재량과 큰 오차를 발생시킴. 특히 단순 수치 오류가 자재 부족이라는 물리적 비용과 프로젝트 지연으로 직결되는 도메인 특성을 가짐.

Technical Solution

  • Pitch Factor 도입을 통한 2D 평면 투영 면적의 3D 실제 표면적 변환 로직 구현
  • Area 중심 설계에서 Shape 중심의 Parametric Model로 구조 전환하여 면적과 모든 Edge 길이를 동시에 도출
  • Gable, Hip, Shed 등 지붕 형태별로 상이한 외곽선 기하학 구조를 정의하는 분기 로직 설계
  • 경사면에 영향을 받는 Rakes와 수평면에 고정된 Eaves를 구분하여 Edge Length 계산 정밀도 향상
  • Math.ceil 함수를 전역적으로 적용하여 자재 구매 단위(Bundle/Piece)의 최소 정수량 보장
  • Single Source of Truth 원칙을 적용하여 계산 로직과 상수 값을 단일 모듈로 중앙집중화하고 모든 UI 및 가이드 페이지에서 이를 참조하는 구조 채택

도메인 지식이 반영되지 않은 단순 수식은 정답과 유사한 숫자만 내놓는 '다른 시스템'임을 인지하고, 데이터의 정합성을 위해 계산 로직과 설명 문서의 소스를 단일화하는 Single Source of Truth 구조를 검토하십시오.

원문 읽기