변하지 않는 것은 없다. 봄날의 간다의 이영애도 어느새 50살이 넘었다... 나무위키를 찾아보니 오늘이 생일이라 하신다. 생일 축하드립니다 🎊 (아무말....)
아무 생각없이 코딩한 적이 누구나 몇번쯤 있었을 것으로 생각한다. '음? 파라미터가 null이네?' 하면서 if (vaule != null) {
로 감싸버린다거나... 기타 등등... 이유는 다양하다. 배포 일정이 잡혀있는데 시간이 없다거나, 잘 모르거나, 생각하기 싫거나 그 외에도 다른 수많은 이유가 있을 것이다. 이렇게 작성한 코드들은 알아보기 힘들 뿐만 아니라 요구사항을 제대로 충족하지 못할 가능성이 매우 높다. 그냥 버그덩어리를 만드는 것이다. 코드 작성을 멈추고 생각을 해야한다. 실수했음을 인정하고 바로잡아야 한다. 작성한 코드에 대해 자부심을 가질 수 있도록 생각을 하고 작성해야 한다.
이렇게 작성한 코드들이 바로 변하지 않는 코드인데... 어떻게 생각하는가? 너무 끔찍한 상황이지 않은가. 변해야하고 성장해야 한다. 레거시를 신성히 여기지 말고(내비두지 말고) 개선해야 한다.
용기와 무모함, 어떻게 보면 한끝차이인 이 단어를 가르는 차이는 기술이다. 아무리 코드가 안좋다고 하더라도 오류를 줄이고, 다른 작업에 영향을 미치지 않도록 개선할 수 있다. 오히려 코드가 안좋을수록 개선의 여지가 더 많을 수도 있다. 용기는 수정이 안전하다는 확신과 명백하게 증명가능하게 코드를 작성함, 테스트에서 나온다.
자존심 있는 프로그래머라면 이런 종류의 코드 '재사용'을 용납하지 않을 것이다.
그렇기 때문에 필요하지 않으면 작성하지 않아야한다. 앞서 작성했던 포스팅들에서 마르고 닳도록 이야기했다. YAGNI!