개발 slecs

다중 시스템 UI와 SQL 분석에 에러 처리까지 구현한 과정

목차

다중 시스템 UI, SQL 분석 및 에러 처리 로직 추가 구현기

2026-02-06. 기능 명세 나오고 나서 바로 착수했던 작업임.

설계 결정

구현 전에 몇 가지 선택지가 있었음. 기존 코드에 덧붙이는 방식 vs 새로 작성하는 방식. 결국 기존 구조를 최대한 활용하되, 새 기능 부분만 분리해서 작성하는 방향으로 정했음. 나중에 테스트하기 쉽고, 변경 영향 범위가 명확하기 때문임.

구현 세부

스타일시트
처음에 간단하게 만들고 돌아가는 거 확인한 다음에 예외 처리를 보강했음.

컨트롤러
입출력 스펙을 먼저 정의하고 그에 맞춰 구현함. 중간에 스펙이 바뀌는 경우에 대비해서 인터페이스 레벨에서 변경 포인트를 최소화함.

// 처리 흐름 요약
입력 수신 -> 변환/정규화 -> 핵심 처리 -> 출력 변환 -> 반환
구분 상태
기본 기능 완료
예외 처리 완료
로깅 추가됨
변경 파일 6개

실제 데이터로 테스트하면서 엣지 케이스를 추가로 발견해서 그때그때 처리했음. TDD 방식보다 직관적으로 동작 확인하는 게 맞는 경우도 있다고 생각함. 중요한 건 어떤 방식이든 경계 조건을 빠트리지 않는 것.

설계 시 고민한 트레이드오프

이번 구현에서 선택의 기로에 있던 지점들이 있었음.

단순함 vs 확장성: 지금 당장 필요한 기능만 만드는 게 맞는지, 나중 확장을 미리 고려해야 하는지. 결국 YAGNI 원칙대로 지금 필요한 것에 집중했음. 과도한 추상화는 오히려 이해를 어렵게 만든다는 경험이 있어서.

명시적 vs 묵시적: 코드에 의도를 명시적으로 드러낼수록 후임자가 이해하기 쉬움. 변수명, 함수명에 공을 들인 이유임.

결정 항목 선택 이유
구조 기존 패턴 재사용 일관성 유지
네이밍 명시적 가독성 우선
예외 처리 방어적 안정성 우선

다음

댓글 0

첫 댓글 달아줘.