Doxygen 사용법
Upcoming SlideShare
Loading in...5
×
 

Doxygen 사용법

on

  • 3,877 views

Doxygen 사용법

Doxygen 사용법

Written by 김동국
Reviewed by 손영수

Statistics

Views

Total Views
3,877
Views on SlideShare
3,442
Embed Views
435

Actions

Likes
17
Downloads
66
Comments
0

6 Embeds 435

http://localhost 193
http://blog.ansuchan.com 159
http://mangastorytelling.tistory.com 38
http://www.slideee.com 36
http://blog.naver.com 8
http://www.hanrss.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Doxygen 사용법 Doxygen 사용법 Presentation Transcript

  • Doxygen 사용법
  • 학습목표 ❖ Doxygen이 무엇인지 설명할 수 있다.! ❖ Doxygen을 왜 써야하는지 설명할 수 있다.! ❖ Doxygen을 위한 주석 문법을 이해한다.! ❖ Doxygen 도구 설정 세팅 방법을 따라한다.
  • Doxygen이 뭔가요? Doxygen은 소프트웨어 레퍼런스 문서 생성기 입니다.
  • 문서를 왜 만들어야 하죠? 인간 기억력의 한계 때문입니다.! 프로그래머는 대부분의 시간을 코드를 이해하는데 소비합니다.
  • 71% 23% 6% 코드 생성 코드 수정 코드 이해
  • 개발 완료 후 몇 주가 지나 버그가 발견됐습니다.! 코드를 고치려니 내가 어떻게 구현했는지 기억이 안나네요.
  • 코드를 읽으니 이전의 기억이 하나 둘씩 되살아 납니다.! 이제 버그를 수정하는 건 일도 아니에요.
  • 이런일은 이후에도 계속 반복됩니다.
  • 시간이 흐르면서 코드의 복잡도는 증가했습니다.! 나중에는 몇일을 보아도 구조를 잘 모르는 일이 생기고 말았어요.
  • 어떻게 하면 기억을 좀 더 쉽게 되살릴 수 있을까요?
  • 문서를 작성하면 효과가 있습니다.! 문서를 읽으면 코드를 훨씬 빨리 파악할 수 있어요.
  • 이젠, ! 완성된 코드와 더불어 문서도 소중한 결과물이 입니다.
  • 하지만 문서작성도 비용아닌가요? 맞아요. 문서 작성에도 큰 비용이 소모됩니다.! 하지만 코드가 문서 자체가 된다면 어떨까요?
  • 코드 버전별로 문서 버전을 관리할 필요가 없습니다.! 코드만 관리하면 문서 관리까지 되는거에요.
  • 어떻게 그런일이 가능하죠? ?
  • Doxygen 주석 문법을 사용하여! 코드에 주석을 달면 됩니다.
  • 어서 그 문법을 알려주세요! 네, 알려 드리겠습니다.! 따라오세요.
  • /**! * 기본 주석 형태 ! */ 기본적인 Doxygen 주석 형태입니다.
  • ! /**! * @mainpage 메인 페이지 제목! * @brief 간략한 설명! * @details 자세한 설명! */ 메인 페이지 주석 예시
  • /**! * @file NewClass.java! * @brief 간략한 설명! * @details 자세한 설명! */ 파일 주석 예시
  • /**! * @namespace org.nhnnext! * @brief 패키지 간략 설명! * @details 패키지 자세히 설명! */! package org.nhnnext; 패키지 주석 예시
  • ! /**! * @brief 클래스 간략 설명! * @details 클래스 자세히 설명! * @author Dongkuk Kim, dongkuk5411@nhnnext.org! * @date 2013-12-31! * @version 0.0.1! */! class ClassName extends ExtendedClassName! {! /* do nothing */! } 클래스 주석 예시
  • /**! * @brief 메서드 간략 설명.! * @details 메서드 자세히 설명.! * @param args 콘솔 파라미터! * @return 프로그램 상태! *! * @bug 메모리 누수 있음.! * @todo 버그 해결 해야함.! * @exception StringIndexOutOfRangeException ! *! * @see NewClass! * @see http://java.sun.com! */! public static int main(String[] args)! {! ...! return( status );! } 메서드 주석 예시
  • @item들은 뭔가요? 주석에 대한 메타데이터입니다.! 다음 페이지에서부터 각 아이템들을 소개해 드릴게요.
  • @mainpage 프로그램의 전체 개요 등을 설명합니다.! @section 프로그램의 개요 별로 설명합니다.! @version 프로그램 버전을 설명합니다.
  • @breif 간략한 설명을 쓸 때 사용합니다.! @details 자세한 설명을 쓸 때 사용합니다.
  • @file 파일 이름을 구별할 때 사용합니다.! @author 작성자 이름을 나타낼 때 사용합니다.! @date 작성날짜를 나타낼 때 사용합니다.
  • @param 함수 파라미터를 설명합니다.! @return 함수의 리턴값을 설명합니다.
  • @exeception 예외 처리를 설명합니다.! @throws throw하는 객체나 변수 등을 설명합니다.
  • @see 참고할 함수나 페이지를 지정합니다.! @todo 해야할 일에 대해서 따로 리스트를 생성합니다.! @bug 버그에 대해서 따로 리스트를 생성합니다.
  • @code 중요코드를 설명할때 시작 지점 가리킵니다.! @endcode 중요코드 설명할때 종료 지점 가리킵니다.
  • 이로써 @item에 대한 설명은 그만 하겠습니다. 끝이 안보이네요.! http://www.stack.nl/~dimitri/doxygen/manual/index.html ! 에서 더 찾아보세요.
  • 그럼 이제 Doxygen을 주세요. Doxygen 설치에 앞서,! 함수 구조도, 클래스 구조도 등의 그래프를 문서에 포함시키기 위해! Graphviz를 설치하는게 좋습니다.
  • http://www.graphviz.org/Download..php 에서 
 해당 OS에 맞는 Graphviz를 설치해주세요. http://www.graphviz.org/pub/graphviz/stable/macos/mountainlion/graphviz-2.34.0.pkg ! 맥용 Graphviz 바로 다운로드
  • 그 다음,! http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc 에서 해당 OS에 맞는 Doxygen을 설치해주세요. http://ftp.stack.nl/pub/users/dimitri/Doxygen-1.8.6.dmg! 맥용 바로 다운로드
  • 실행
  • 이제 Doxygen 설정 세팅법을 보여드릴 겁니다.! 한걸음 한걸음 따라와요.
  • 프로젝트 루트 폴더를 지정합니다.
  • 소스 파일이 있는 폴더를 지정합니다.
  • 모든 하위 폴더를 재귀적으로 스캔합니다.
  • Doxygen이 문서를 생성할 폴더를 지정합니다.
  • 프로젝트 이름과 버전을 지정합니다.
  • 각 함수마다 사용한 함수로의 링크를 생성합니다.
  • 자바를 선택합니다.
  • 문서 왼쪽에 탐색 트리를 보여줍니다.
  • 소스 간의 관계를 GraphViz로 표현해줍니다.
  • 출력 결과에 쓰여질 언어를 한국어로 선택합니다.
  • 항상 상세 정보를 보여줍니다.
  • 소멸자와 상속자를 제외한 상속된 모든 멤버를 보여줍니다.
  • 소스코드의 모든 요소가 문서화 대상이 됩니다.
  • 클래스 내의 모든 private 멤버가 문서화 대상이 됩니다.
  • 클래스 내의 모든 static 멤버가 문서화 대상이 됩니다.
  • 함수 설명시 함수 코드를 보여줍니다.
  • 클래스의 상속구조 다이어그램을 그립니다.
  • 다이어그램을 UML 형식으로 그립니다.
  • dot_path를 지정해줍니다.! dot 프로그램이란 Graphviz을 의미합니다! 터미널
  • 이것으로 Doxygen 설정 세팅은 마쳤습니다.! 이제 문서를 생성해보아요.
  • Doxygen을 시작해 문서를 생성합니다.
  • 생성된 문서를 열어봅니다.