* 소스코드 분석을 하는 방법.
1. 눈으로 코드 따라 다니기.
2. 실행시켜서 따라 다니기 ( 서버, 클라이언트 둘다 실행해서 디버깅 ).
3. Doxygen을 이용한 코드 문서화.

 UML 문서화가 귀찮거나 상속관계, 포함관계를 볼때는 3번이 가장 편하다.
 단, 소스코드에 주석이 없을시 위 사항 이외에는 별로 도움이 안된다. ㅡㅡ;;

Dual Core들이 난무하는 시대에 쉽게 기존 코드들을 분석하고 이해하는 방법은 없을까
내가 아는 방법에서는 역시 2번이 최고인것 같다. ㅡㅡ;;

3번에 대해
Doxygen 설치
출처 : www.stack.nl/~dimitri/doxygen/
필요 파일 : doxygen-1.5.6-setup.exe ( http://ftp.stack.nl/pub/users/dimitri/doxygen-1.5.6-setup.exe )
             문서화 툴
            graphviz-2.18.exe ( http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.18.exe )
             이넘이 Doxygen에서 그림을 만들어 주는 넘이다. 없으면 문서화에서 이미지들이 안나온다. ㅡㅡ;;
            htmlhelp.exe ( http://go.microsoft.com/fwlink/?linkid=14188 )
             html 문서들을 chm파일로 만들어 준다. 하나의 파일로 만들어 주는 넘


설치 순서 :
 1. doxygen-1.5.6-setup.exe, graphviz-2.18.exe, htmlhelp.exe 각각을 순서에 상관 없이 디폴트 위치에
    설치를 한다.
 2. Doxywizard를 실행한다.
 3. Wizard... 버튼을 눌러
    Project 탭
     Project name : 아무거나
     version : 아무거나
     Source code directory : 소스의 최상위단을 하는것이 편하다.
     Scan recursively : 체크를 한다. 이하 디렉토리 찾기
     Destination directory : 아무곳이나
    Diagrams 탭
     Use dot tool from the GraphCiz package to generate : 체크 하고 이하 체크 박스 대충 체크
 4. Wizard 창을 닫고 일단 Save... 를 한다.
 5. Expert... 버튼을 눌러
    각 탭마다 대충 체크를 하고
    Input 탭
     EXCLUDE에 폴더를 추가하면 이하폴더는 문서화 하지 않는다.
    HTML 탭
     CHM_FILE : C:/Program Files/HTML Help Workshop/hhc.exe : 설치시 디폴트로 했다면 옆내용을 셋팅한다.  
    Dot 탭
     대충 체크
     DOT_PATH : C:/Program Files/Graphviz/bin : 설치시 디폴트로 했다면 옆내용을 셋팅한다.    
6. Expert... 창을 닫고 Save... 를 한다.
7. Working directory를 정하고
8. Start
9. 문제 없으면 소스 코드들이 문서화 된다. chm 파일은 위치를 지정하지 않으면 Working directory 아래 html 폴더에 생김

스샷이 있으면 좋긴한데, 사내 보안땜시 파일이 ㅡㅡ;; 귀찮기도 하고 ㅡㅡ;;

한글들이 깨지는것은 왜인까? 인코딩 문제인것 같은데. ( EUC-KR. CP949 )
어쨋던 보는것은 UML과 상속, 포함관게 이미지들뿐 이니 일단은 패스 ㅡㅡ;;


기타 Source code documentaion generator tool (http://www.stack.nl/~dimitri/doxygen/links.html)
열라 많다.

chm 파일 용량이 477메가 나왔다. 전에 보다는 적군 ㅡㅡ;;
   

Doxygen 주석
 출처 : http://blog.naver.com/wizhyo?Redirect=Log&logNo=110001543328 
 
ex)
/** \brief

        문자열 바꾸기

    \remarks

        입력된 문자열에서 원하는 문자열을 찾아 바꾼다.

    \return

        마지막으로 찾은 문자열의 첫번째 주소값을 반환한다.

*/ 

char *

Replace(

        char * pStr,     ///< 입력 문자열

        char * find,     ///< 찾을 문자열

        char * replace       ///< 변경할 문자열

        )

{

    ...

} 







 

티스토리 툴바