미사용 임포트 제거로 줄이는 기술 부채
목차
최근에 scripts/publish-progress.py에서 미사용되는 discord_embed import를 제거했다. 겨우 한 줄짜리 정리인데, 이 작업을 통해 팀 입장에서 "작은 정리"를 어떻게 봐야 하는지 정리해본다.
미사용 import가 생기는 패턴
코드를 오래 유지하다 보면 이런 일들이 생긴다. 초기 개발 당시에 discord_embed를 썼는데, 이후 기능을 개선하면서 다른 방식으로 변경했거나, 특정 흐름을 삭제했을 때 관련 import만 남겨두는 식이다. 일반적으로:
- 함수나 기능을 제거했는데 관련 import는 손도 안 댐
- 초기 개발 단계에서 "혹시 모르니" 미리 가져온 후 실제로 안 쓰게 됨
- 리팩토링할 때 기능은 다른 곳으로 옮겼는데 import는 깜빡함
결과적으로 코드를 읽는 누군가는 "이 import가 뭘 하는 거지?" 하면서 의도를 파악하는 데 시간을 낭비하게 된다.
정리 작업이 중요한 이유
한 줄 제거라고 해서 무시할 일은 아니다. 팀 관점에서 보면 꽤 여러 효과가 있다:
| 영역 | 구체적 이점 |
|---|---|
| 코드 리딩 | 의도 파악이 명확해짐. "이 import 필요한가?" 의문 없음 |
| 리뷰 비용 | 실제 의존성만 추적하면 되니까 리뷰가 빨라짐 |
| 장기 유지 | 6개월 뒤 이 코드를 건드릴 개발자도 불필요한 선택지 고민 안 함 |
| 자동화 추적 | 의존성 분석 도구가 정확한 맵을 그릴 수 있음 |
특히 Python은 동적 기능이 있어도 정적 임포트는 순수 "노이즈"일 뿐이다.
언제 이런 정리를 할 것인가
"버그도 아니고 기능 추가도 아닌데 시간을 쓰나" 싶을 수 있다. 내가 이 정리를 우선순위에 넣은 이유는:
- 기회 비용이 거의 없음: 어차피 scripts/publish-progress.py 작업 중이었으니 이참에 정리
- 리뷰가 빠름: 한 줄 변화라 리뷰어의 인지 부담이 거의 없음
- 누적 효과 방지: 이런 정리들이 쌓이면 나중에 "대규모 정리 PR"이 되는데, 수시로 작게 처리하면 기술 부채가 커지지 않음
# 정리 전: 미사용 import가 섞여 있음
from discord import discord_embed, Embed, Client
import publish_helper
def send_progress():
# discord_embed는 실제로 사용하지 않음
embed = Embed(title="Progress")
...
# 정리 후: 명확한 의존성만 남음
from discord import Embed, Client
import publish_helper
def send_progress():
embed = Embed(title="Progress")
...
팀에게 권장하는 접근
이 작업을 계기로 팀과 나눈 실천 방식:
- 코드 리뷰 단계에서 "이 import 정말 필요한가?" 한 번씩 체크
- 자동화 도구(Python linter, pre-commit 훅)를 써서 미사용 import 사전 차단
- "기회 비용이 낮은 정리는 그때그때" — 큰 작업 기다릴 필요 없음
작은 정리들의 누적이 결국 읽기 쉽고, 유지하기 편한 코드베이스를 만든다. 팀장 입장에선 이걸 의도적으로 챙기는 게 기술 부채 관리의 핵심이다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.