[1][2]에서는 '삭제의 기쁨(The Joy of Deleting)'이란 제목으로 글을 썼다.
기쁨까진 모르겠으나, 삭제해야 하는 코드가 있다는 의견에는 전적으로 공감한다.
코딩 호러에서도 [3]에서 퍼온 내용으로 아래와 같다. (현재 [3]의 웹사이트는 열리지 않는다, 2014/03/24)
더 이상 필요하지 않은 코드가 있다면 그것이 실행되지 않게 만드는 대신 완전히 삭제해야 하는 뚜렷한 이유가 하나 있다.
잡음과 불확실성을 제거해야 한다는 것이 그것이다. 개발자가 가질 수 있는 최악의 적은 바로 코드 안에 기거하는 잡음과 불확실성이다.
그들은 개발자가 나중에 효율적으로 작업하는 것을 방해하기 때문이다.
한덩어리의 코드를 실행되지 않게 만들어두면 불확실성이 야기된다. 그것은 다른 개발자들의 마음에 다음과 같은 질문이 떠오르게 만들기 때문이다.
- 이 코드는 왜 이런 방식으로 사용됐지?
- 새로운 방식이 왜 더 낫지?
- 나중에 다시 예전 방식으로 돌아갈 것인가?
- 그 결정을 어떻게 내려야 하지?
이러한 질문의 답 가운데 어느 하나라도 다른 사람이 알고 있어야 하는 것이라면 반드시 주석을 달아서 설명해야 한다.
동료 개발자들이 추측하도록 내버려두지 말라.
나 자신도 이러한 경험이 있는데, #ifdef 0 으로 처리된 코드들을 내 마음대로 지우기가 애매 모호하다.
주석처리 한 이유를 파악하기도 힘들뿐더러, 그 코드를 작성한 사람은 이미 퇴사한 사람이라 물어볼 수도 없다.
그래서 1년이 지난 후에야 이 코드가 필요 없다고 생각해서 지운 적이 있다.
도대체 왜? 라는 물음을 던져 주는 코드들을 삭제 하자.
<참조>
[1] 코딩 호러가 들려주는 진짜 소프트웨어 개발 이야기, 제프 앳우드 / 임백준 옮길, 83p
[2] http://blog.codinghorror.com/the-joy-of-deletion/
[3] http://www.nedbatchelder.com/text/deleting-code.html