# 03-15. 추측성 일반화
# ✋ Intro
추측성 일반화는 '나중에 필요할 거야'라는 생각으로 당장은 필요 없는 모든 종류의 코드에서 풍기는 냄새이다.
- 그 결과는 물론 이해하거나 관리하기 어려워진 코드다.
미래를 대비해 작성한 부분은 실제로 적용하게 되면 다행이지만, 그렇지 않는다면 쓸데없는 낭비일 뿐이다.
- 당장 걸리적거리는 코드는 눈앞에서 치워버리자.
적용할 수 있는 리팩토링 기법
상황 | 적용 기법 |
---|---|
하는 일이 거의 없는 추상 클래스 | 계층 합치기 |
쓸데없이 위임하는 코드 | 함수 인라인하기, 클래스로 인라인하기 |
본문에서 사용되지 않는 매개변수 | 함수 선언 바꾸기 |
# (1) 죽은 코드 제거하기
- 테스트 코드 말고는 사용하는 곳이 없는 함수나 클래스에서 이런 코드를 발견하면 테스트 케이스부터 삭제한 뒤에 해당 기법으로 날려버리는 것이 좋다.
- 쓰이지 않는 코드가 몇 줄 있다고 해서 시스템이 느려지는 것도 아니고 메모리를 많이 잡아먹지도 않는다.
- 하지만 사용되지 않는 코드가 있다면 그 소프트웨어 동작을 이해하는 데는 커다란 걸림돌이 될 수 있다.
- 코드를 더 이상 사용되지 않게 됐다면 지워야 한다.
- 혹시 다시 필요해질 날이 오지 않을까 걱정할 필요 없다.
- 우리에게 버전 관리 시스템이 있다!
- 즉, 주석처리할 필요도 없다!