최근들어 남이 짠 소스를 분석하는 일이 부쩍 많아졌습니다. 문제는 그 코드들을 어디서부터 어떻게 분석을 해야할지를 모르겠습니다. 설계 문서라도 있으면 도움이 될터인데.... kldp 유저님들은 코드를 분석하실때 어떻게 하시나요??
좋은 방법은 알고 있습니다.
1. 코드를 문서화 하는 도구가 있습니다. 요구 분석 문서 (UML) 이나 세부 데이터 정의 문서 (DDL) 같은거요. 어떤건 3D로도 보여주던데요.
엑셀이나 파워 포인트로 문서를 만드는 방법도 좋습니다. 저는 구글 문서를 사용합니다.
2. VS 의 클래스를 보는것도 좋은 방법입니다.
3. 리눅스에서는 ctags 를 사용하는것도 좋습니다. ctags -R * 하시면 vi에서 편집하기 좋습니다. Ctrl+[] T 등으로 이동합니다.
4. 윈도우의 경우 디버거로 브레이크 포인트 잡고 하나씩 확인해 봅니다. 스레드 갯수 확인 메모리 확인 GDI 증가 감소 확인 CPU 증가 여부 확인 각 함수의 속도 및 시간 확인 등등...
5. 디버깅 로그를 찍어 보거나. 원격 디버깅도 도움이 됩니다.
6. 이전 개발자에게 연락 주시면 답변 해주실지도 모릅니다.
사실. 경력이 되시는 개발자 분들은 그런것들을 검증 할 수 있는 도구를 하나씩은 가지고 계셔서요... 물어 보시는게 좋습니다.
다시 정리해보면. - 클래스. 스레드. 정리후 구성도 그림 그리기 - 함수 및 데이터 흐름과 값 확인 하기. 로그찍기.
- 정 안되시면. F9 눌러서 한줄씩 확인하기. - 그래도 안되면. 경력자에게 도움 요청하기.
---------------------------------------------------------------------------- 젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다. 정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
main 부터 읽어내려갑니다 source insight, etags, cscope 등등 코드분석툴을 사용하면 편리합니다 vs 라면 visual asist x 를 같이 사용하면 편합니다
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
저는 그냥 막코딩 해서 ㅠㅠ...
좋은 방법은 알고 있습니다.
1. 코드를 문서화 하는 도구가 있습니다.
요구 분석 문서 (UML) 이나 세부 데이터 정의 문서 (DDL) 같은거요.
어떤건 3D로도 보여주던데요.
엑셀이나 파워 포인트로 문서를 만드는 방법도 좋습니다.
저는 구글 문서를 사용합니다.
2. VS 의 클래스를 보는것도 좋은 방법입니다.
3. 리눅스에서는 ctags 를 사용하는것도 좋습니다. ctags -R * 하시면 vi에서 편집하기 좋습니다.
Ctrl+[] T 등으로 이동합니다.
4. 윈도우의 경우 디버거로 브레이크 포인트 잡고 하나씩 확인해 봅니다.
스레드 갯수 확인
메모리 확인
GDI 증가 감소 확인
CPU 증가 여부 확인
각 함수의 속도 및 시간 확인 등등...
5. 디버깅 로그를 찍어 보거나. 원격 디버깅도 도움이 됩니다.
6. 이전 개발자에게 연락 주시면 답변 해주실지도 모릅니다.
사실. 경력이 되시는 개발자 분들은 그런것들을 검증 할 수 있는 도구를 하나씩은 가지고 계셔서요...
물어 보시는게 좋습니다.
다시 정리해보면.
- 클래스. 스레드. 정리후 구성도 그림 그리기
- 함수 및 데이터 흐름과 값 확인 하기. 로그찍기.
- 정 안되시면. F9 눌러서 한줄씩 확인하기.
- 그래도 안되면. 경력자에게 도움 요청하기.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
main 부터 읽어내려갑니다 source
main 부터 읽어내려갑니다
source insight, etags, cscope 등등 코드분석툴을 사용하면 편리합니다
vs 라면 visual asist x 를 같이 사용하면 편합니다
댓글 달기