사실 프로그램을 개발하다 보면 코드를 작성하는 것보다 남이 짠 걸 분석하는게 더 어려울 때가 있죠.

간단한 프로그램이라면 상관없지만 몇천~만 라인 정도가 되는 프로그램을 분석하다 보면 이리저리 왔다갔다 내가 뭘 보고 있는지 멍해질 때가 한 두번이 아닙니다.

보통 코드 분석할 때는 SourceInsight와 EditPlus를 둘 다 켜놓고 분석하게 되는데요.. 가장 큰 문제점은 프로그램의 구조가 한 눈에 들어오질 않는다는 것이죠.

특히 무수한 함수 호출과 이벤트, 전역 변수의 사용 등은 지금 수정 및 변경된 변수의 값이 다른 곳에서 어떤 영향을 미치는지 계속 생각하게 합니다.

그래서 전 위에 있는 사진처럼 수작업으로 프로그램의 전체 구조를 그려놓고 함수 분기 및 중요 변수에 대한 추적을 합니다. 위 작업의 장점은 프로그램 구조가 한 눈에 들어온다는 것이고.. 단점이라면 손이 좀 아프지요^^


이 방법은 대학교 때 수업 과제하면서 부터 써먹어 왔는데요. 특히 3학년 운영체제 수업 때 Pintos라는 운영체제를 분석할 때 위 방법으로 수월하게 구조를 파악했었습니다. 그 때 당시에 A4 8장을 이어붙여서 만들었던 생각이 나네요. (위 사진도 우측이 짤려보이지만..계속 붙어있습니다.=_=)

혹시.. 코드를 분석하실 일이 있으면 위 방법을 한 번 써보세요.. 손은 고생이지만 구조도 쉽게 파악되고, 다 만들고 나면 뭐가 뿌듯(?)합니다.

이상...프로그램에 확률 계산 코드를 집어넣다가 막혀서..딴 짓을 잠깐 했던 wiz 였습니다.ㅋ



저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License