리팩토링 대작전 – 3. 효용

상당히 귀찮은 작업이었지만 효용도 만만찮았다. 여기서는 리팩토링으로 얻어진 장점들을 논해보려 한다. 분석 편의성 일단 디버그/프로파일링 시에 필요한 분석이 매우 편해졌다. 무료 툴들의 경우는 으레 함수 단위로 분석을 해주는데, 이렇게 한 가지 일만 하게 되면 함수만 알려줘도 어떤 부분이 문제가 되는지 알 수 있기 때문이다. 또한 디버그의 경우에도 스택에 올라간 함수들 이름만 따서 줄글로 이으면 뭘 […]

리팩토링 대작전 – 2. 부수고 또 부수고

시작하자마자 부수고 또 부수었다. 기존 코드를 ‘한 가지만 하는’ 함수로 나누다 보니 객체가 자연스레 생겼다. 그 객체 수가 불어나며 그를 묶어낼 패키지도 자연스레 정의되었다. 이 시기 ‘델파이 프로그래밍 언어‘가 나의 친구였다. C 프로그래밍 언어를 읽어보면서, 각 언어의 레퍼런스로 창시자가 내놓은 일명 ‘XX 프로그래밍 언어’가 정말 좋음을 이 때 깨달았다. 그래서 산 책인데, 이를 통해 10년 […]

리팩토링 대작전 – 1. 문제점 파악

제일 먼저 해야 할 일은 문제점을 파악하는 일이다. 문제점을 파악하면서 새로운 구조를 생각해보기로 했다. 나래온 툴의 근본적인 문제는 기능 자체에 대해서는 많은 고심 끝에 만들어진 것들이지만 내부는 별 생각 없이 만들었다는 점이다. 프로그램이 오래 갈 것에 대해서 손톱만큼도 생각을 해 보지 않은 것이 설계에 묻어난다. 물론 개발이 계속 진행되면서 모듈화가 지속적으로 이루어졌지만, 그러지 못한 부분들도 […]

리팩토링 대작전 – 0. 들어가며

리팩토링 관련 문서들에서는 다음 세 가지를 악취라고 한다. 이해하기 어렵다 수정하기 어렵다 확장이 어렵다 그러나 나래온 툴에는 위 세 가지가 모두 적용되지 않는다. 나래온 툴은 1인 프로젝트이고, 공개용 소스도 아니기 때문이다. 이해하기 어렵다 – 훈련 마치고 처음으로 바깥 공기를 마신 날, 집에 와서 마치 어제 마지막으로 봤던 것처럼 코드를 꺼내서 수정할 수 있었다. 수정하기 어렵다 […]