본문 바로가기

도구의발견

Doxygen 소개


Introduce

요즘 들어 기존 프로젝트에 대한 문서화 작업이 한창입니다.

그런데 개발자라는 종족 특성이 원래 그런 것인지는 모르겠지만, 코드를 짜는데 시간을 할애하는 데는 후하지만 문서를 작성하는데 시간을 할애 하는 것에는 상당히 인색하지요. 그래서 이런 작업(클래스 다이어그램을 그리고, 인터페이스에 대한 설명을 하는 등의..)을 보다 쉽게, 귀찮지 않게 할 수 없을까 라는 생각을 저 이전에 많은 천재 분들이 하셨고, Doxygen이라는 프로그램을 만드사, 세상에 무료로 공개하셨습니다.

 

 Doxygen.., 다들 이름은 한번은 들어 보셨으리라 생각합니다. 아니면 한번즈음 사용해 보셨을지도 모르겠구요. 하지만 정작 지금 당장 우리팀에서는 사용을 하고 있지 않더군요. 상당히 귀찮은 현실입니다. 라이브러리의 사용법 조차도, 정확하게 문서화 되어 있다기 보다는 그냥 구전을 통해서 전해지지요. 코딩스펙을 작성 할 때에도 클래스 다이어그램이 변하면, rose에서 변경하고 스크린샷을 뜬 후, wiki나 다른 문서로 붙여 넣기를 하고 있습니다. 상당히 귀찮다고 생각하지 안습니까? 이렇게 귀찮은 작업이다 보니 코드가 변할 때, 문서도 같이 변하지 않는 경우가 많고, 결국에는 코드 버전과 문서 버전이 맞지 않아 문서는 아무런 소용도 없게 되버리는 경우가 종종 있습니다(우워워~~!!!). 이런 여러 귀찮은 문제를 바로 이 프로그램 Doxygen을 통해서 한방에(?) 해결 할 수 있습니다(사실 한방이라는 표현이 상당히 과장되어 있음을 인정합니다).

 

 Doxygen의 기본 개념은 특정 형식을 지니고 있는 주석들을 이용해 문서를 작성한다는 것입니다. 결과 문서는 xml이 될수도 있고, HTML이 될 수도 있고 LaTex등의 갖가지 형태의 결과물이 나올 수 있습니다. 이 외에도 많은 결과물 문서 포멧이 존재하고 사용자가 다른 문서 형태를 추가 할 수도 있습니다.

 

 아래는 doxygen으로 작성된 HTML 결과물들입니다. 각종 쟁쟁한 단체들이 doxygen을 사용하고 있군요.

위의 HTML페이지들은 사람의 손을 거친 것들이 아닙니다. 순전히 자동으로 뽑아져 나온 것 들입니다. 믿으세요~!

 

사용법

 doxygen의 사용법은 의외로 간단합니다. 코드를 작성할 때 클래스 혹은 함수를 설명하는 주석들을 코드에 같이 작성하시면 됩니다.

 http://www.stack.nl/~dimitri/doxygen/docblocks.html 를 방문하시면 갖가지 예제를 들어서 설명을 잘 해 놓았습니다.

 예를 들어

1.   /**
2.   * ... text ...
3.   */

 라는 주석을 달면 저 /** ~ */ 사이의 내용이 문서로 뽑아져 나오는 것이지요. 이외에도 다른 많은 형식이 있지요.

 더 자세한 설명(한글)http://www.pie.pe.kr/cgi-bin/moin.cgi/Doxygen 를 참고 하시면 됩니다. 후훗~

유익한 글이었다면 공감(❤) 버튼 꾹!! 추가 문의 사항은 댓글로!!