성장 경험/배운 점 & 회고
[배운 점 & 회고] 6월 21일
Tarake
2025. 6. 23. 21:30
배운 점
- 비슷한 기능은 반드시 공통화할 수 있는 여지가 있다.
- RF스캐너와 레이더 평가 항목은 서로 다른 장비임에도 유사한 계산 방식을 공유함, 단순히 복사-붙여넣기는 빠르게 구현할 수 있지만, 유지보수성과 확장성이 크게 저하됨을 체감함
- 공통 로직을 별도 클래스(static 유틸리티)로 분리하면 코드의 재사용성과 테스트 효율이 높아진다.
- 계산을 하나의 책임 클래스로 모아두면 각 서비스가 담당해야 할 책임이 줄어들고, 단위 테스트도 명확해짐
- 서비스 클래스는 CRUD와 분석 책임을 분리하는 것이 유지보수에 유리하다.
- 분석 로직이 많아질수록 서비스 클래스가 비대해지므로, 전용 분석 서비스 클래스를 분리해 책임을 나누는 것이 단일 책임 원칙에 부합하고 협업 시에도 가독성이 높아진다.
개선할 점
- 처음부터 유사 기능에 대한 구조적 분석과 설계가 필요
- 단기적으로 빠르게 작성한 코드가 나중에는 리펙토링이라는 추가 작업을 유발하게 된다.
- 유사 로직이 반복될 가능성이 보이면, 미리 유틸 클래스나 공통 모듈로 분리하는 습관이 필요함
- 급하게 작성한 코드는 반드시 다음 작업 이전에 점검하고 리팩토링 시간을 반영해야 한다.
- 중복된 코드가 쌓이기 전에 구조를 정리하는 것이 전체적인 코드 품질을 지키는 핵심이다.
- 기능 단위로 책임을 분리할 때는 '역할' 과 '계산 대상'을 기준으로 나누는 것이 효과적