친구가 짠 프로그램 소스를 우연히 보게 되었다.

C로 작성된 - 확장자는 cpp였으나 - 이 프로그램은 친구가 테스트해보라며 나에게 건네줬던 프로그램의 소스였다. 나는 실무 경험이 몇 년 있었지만 그 친구는 대학원생이었기 때문에 실무와는 좀 거리가 있었다. 그래서인지 소스 코드가  학부생 수준의 스타일로 작성되어 있었다. 보자마자 드는 생각이, 어떻게든 뜯어 고치고 싶은 생각뿐이었다. 

그런데 고치는 일이 그리 만만한 일이 아니었다. 일단 작은 프로그램이긴 했지만 멀티 스레드로 동작하고 있었다. 요즘 공부하는 TDD를 적용한다고 치면 - 이 경우엔 기존 코드에 테스트를 씌우는 작업 -  모든 네이티브 함수들을 클래스화해서 Mock object를 사용하도록 바꿔야 했다. 

아... 그런데 몇 줄 안되는 네이티브 C 코드를 수정하는 것도 결코 만만한 일이 아니었다. 이렇게 고통스러울 수가!

그래서 Working Effectively with Legacy Code를 읽기 시작했다. 실무(?)에 앞서 이론을 좀 다져놔야하지 않겠느냐는 생각이었다. 그런데 책이 또 영어라서 이것도 고통스럽다. 이제는 영어를 공부해야 하나...

 
반응형

'일기' 카테고리의 다른 글

프로그래머와 국회의원의 공통점  (0) 2010.11.02
Test Driven Development, 첫 걸음부터 세미나를 하기까지  (0) 2010.10.10
프로그래밍 심리학  (0) 2010.09.15
ONE MUST FALL 2097  (0) 2010.02.27
으아앙대  (0) 2010.02.26

+ Recent posts