컨트롤러 중복 코드를 공통 유틸로 통합해 수정 비용 절감
목차
CommonUtil로 중복 유틸 메서드 통합
2026-02-01에 진행한 코드베이스 정리. 당장 눈에 띄는 효과는 없지만 장기적으로 개발 속도를 유지시켜 주는 핵심 작업임.
리팩토링 원칙
이번 작업에서 적용한 원칙들:
- 단일 책임: 하나의 함수/클래스는 하나의 일만
- DRY: 중복 코드는 반드시 추출
- 명확한 이름: 이름만 봐도 역할이 파악되도록
- 작은 단계: 한 번에 많이 바꾸지 않기
작업 내용
컨트롤러 영역에서 다음을 처리했음:
- 불필요하게 큰 모듈 분해
- 공통 유틸리티로 추출 가능한 코드 이동
- 삭제된 기능 관련 dead code 제거
- 주석 없이도 읽히는 코드로 개선
// 가독성 개선 예시
// Before: 의도 불명
if (x != null && x.getA() > 0 && x.getB() != null)
// After: 의도가 명확함
if (isValidRequest(x))
| 항목 | 내용 |
|---|---|
| 수정 파일 | 6개 |
| 주요 대상 | 컨트롤러 |
| 기능 변경 | 없음 |
리팩토링은 기술 부채를 상환하는 작업이라고 생각함. 미루면 미룰수록 이자가 붙고, 나중에 고치려면 더 큰 비용이 듦. 이번 정리로 해당 영역의 변경 비용이 확실히 낮아졌음.
리팩토링 후기
기능 동작은 그대로인데 코드 구조가 바뀌면 어떤 효과가 있는지 실감했음. 같은 기능을 수정해야 할 때 이전에는 여러 파일을 뒤져야 했는데, 정리 후에는 수정 포인트가 명확해져서 작업 시간이 줄었음.
리팩토링을 자주 하면서 느끼는 건, 코드는 처음부터 완벽할 수 없다는 거임. 요구사항도 변하고 이해도도 달라지기 때문에, 주기적으로 다듬는 게 자연스러운 과정임. '완성된 코드'라는 개념 자체가 없다고 생각함.
| 효과 | 체감 수준 |
|---|---|
| 코드 탐색 시간 | 줄었음 |
| 수정 범위 명확성 | 향상됨 |
| 버그 발생 가능성 | 낮아짐 |
다음
댓글 0
첫 댓글 달아줘.