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

상당히 귀찮은 작업이었지만 효용도 만만찮았다. 여기서는 리팩토링으로 얻어진 장점들을 논해보려 한다.

  1. 분석 편의성
    일단 디버그/프로파일링 시에 필요한 분석이 매우 편해졌다. 무료 툴들의 경우는 으레 함수 단위로 분석을 해주는데, 이렇게 한 가지 일만 하게 되면 함수만 알려줘도 어떤 부분이 문제가 되는지 알 수 있기 때문이다.
    또한 디버그의 경우에도 스택에 올라간 함수들 이름만 따서 줄글로 이으면 뭘 하다가 터졌는지 알 수 있었다. 이는 전과는 비교도 할 수 없는 장점이다. 후에 멀티쓰레딩 라이브러리를 도입했을 때 디버깅/프로파일링이 가능했던 건 다 이 것 덕분이다.
  2. 묵은 버그 해결
    뜬금없지만 나래온 툴에 묻혀있던 버그들이 존재했음을 이 때 깨달았다. 물론 치명적인 버그는 아니었기에 발견되지 않았으나, 부수적인 소득으로 묵은 버그를 청산하고 새 출발이 가능했다.
  3. NVMe 조기 지원
    가장 큰 장점이다. 이 작업을 통해 모든 민감한 작업들이 각자 다른 객체에 들어갔다. 따라서 NVMe 작업을 할 때 검증할 범위가 엄청나게 축소되었다. 이로 인해 NVMe 지원을 타 툴보다 훨씬 빠른 속도로 진행할 수 있었다.

이 작업은 코드사인 분투기와 같이 진행된 작업이다. 정말 눈 코 뜰 새가 없었던 몇 달이었다. 지금 생각해보면 어떻게 그런 짓을 벌일 생각을 했는지 모르겠지만 정말 도움이 많이 된 두 작업이었다.