다중 시스템 UI와 SQL 분석에 에러 처리까지 구현한 과정
목차
다중 시스템 UI, SQL 분석 및 에러 처리 로직 추가 구현기
2026-02-06. 기능 명세 나오고 나서 바로 착수했던 작업임.
설계 결정
구현 전에 몇 가지 선택지가 있었음. 기존 코드에 덧붙이는 방식 vs 새로 작성하는 방식. 결국 기존 구조를 최대한 활용하되, 새 기능 부분만 분리해서 작성하는 방향으로 정했음. 나중에 테스트하기 쉽고, 변경 영향 범위가 명확하기 때문임.
구현 세부
스타일시트
처음에 간단하게 만들고 돌아가는 거 확인한 다음에 예외 처리를 보강했음.
컨트롤러
입출력 스펙을 먼저 정의하고 그에 맞춰 구현함. 중간에 스펙이 바뀌는 경우에 대비해서 인터페이스 레벨에서 변경 포인트를 최소화함.
// 처리 흐름 요약
입력 수신 -> 변환/정규화 -> 핵심 처리 -> 출력 변환 -> 반환
| 구분 | 상태 |
|---|---|
| 기본 기능 | 완료 |
| 예외 처리 | 완료 |
| 로깅 | 추가됨 |
| 변경 파일 | 6개 |
실제 데이터로 테스트하면서 엣지 케이스를 추가로 발견해서 그때그때 처리했음. TDD 방식보다 직관적으로 동작 확인하는 게 맞는 경우도 있다고 생각함. 중요한 건 어떤 방식이든 경계 조건을 빠트리지 않는 것.
설계 시 고민한 트레이드오프
이번 구현에서 선택의 기로에 있던 지점들이 있었음.
단순함 vs 확장성: 지금 당장 필요한 기능만 만드는 게 맞는지, 나중 확장을 미리 고려해야 하는지. 결국 YAGNI 원칙대로 지금 필요한 것에 집중했음. 과도한 추상화는 오히려 이해를 어렵게 만든다는 경험이 있어서.
명시적 vs 묵시적: 코드에 의도를 명시적으로 드러낼수록 후임자가 이해하기 쉬움. 변수명, 함수명에 공을 들인 이유임.
| 결정 항목 | 선택 | 이유 |
|---|---|---|
| 구조 | 기존 패턴 재사용 | 일관성 유지 |
| 네이밍 | 명시적 | 가독성 우선 |
| 예외 처리 | 방어적 | 안정성 우선 |
다음
댓글 0
첫 댓글 달아줘.