Skip to content

코드 문서화를 위한 주석 규칙(Draft v0.1)

akasima edited this page Jan 18, 2014 · 4 revisions

Draft 문서 입니다. 작성된 사항은 별경될 수 있음을 알려듭니다.

Doxygen을 이용해서 XE를 문서화 하기 위한 주석 규칙을 설명합니다.

##개요

XE는 코드 문서화 도구로 Doxygen을 사용합니다.
Doxygen 에서 제공하는 다양한 주석 작성 방식과 command 종류에 의한 혼란을 방지하고자 아래와 같이 작성 방식을 제한합니다.

#주석 작성 규칙

모든 주석은 영문으로 작성합니다.

주석 작성 comment block

  • comment block은 아래와 같이 사용합니다.

    
     	/**
     	 * @command
     	 */
    

주석 command

아래 command 리스트에 명시되지 않은 모든 command는 삭제합니다.
@package, @version, @date 등 아래 설명되지 않는 command는 삭제합니다.

  • @file
    파일 표시
    Doxygen은 @file을 작성하지 않으면 문서화 하지 않는다.

    
     	/**
     	 * @file FileNme
     	 */
    
  • @author
    작성자

    
     	/**
     	 * @author NAVER ([email protected])
     	 */
    

    작성자가 여러 명일 경우 콤마(,)를 구분자로 작성

    
     	/**
     	 * @author NAVER ([email protected]), XE, XEHUB
     	 */
    
  • @brief
    설명

    
     	/**
     	 * @brief 설명
     	 */
    
  • @param
    변수 설명

    
     	/**
     	 * @param 자료형 $변수명 설명
     	 */
    
  • @return
    리턴 설명

    
     	/**
     	 * @return 자료형 설명
     	 */
    
  • @see
    참고사항. 해당 주석 관련 내용을 볼 때 추가적으로 확인해야 할 사항들이 있다면 작성합니다.

    
     	/**
     	 * @see 참고해야 할 사항을 작성. 
     	 */
    

    ex) class DB의 queryExecute() 를 참고 할 경우 아래와 같이 작성합니다.

    
     	/**
     	 * @see DB::queryExecute()
     	 */
    
  • @todo
    추가적으로 처리해야 할 사항들은 작성

    
     	/**
     	 * @todo 추가적으로 해야 할 사항
     	 */
    
  • @deprecated
    삭제 예정 표시

     
     	/**
     	 * @deprecated 설명
     	 */
    
  • command 작성 순서
    @file, @brief,, @author @param, @return, @see, @todo, @deprecated 순서로 작성

  • 자료형 작성 규칙

    • 자료형 타입 bool, int, float, string, array ,object 에서 선택적 사용
    • 소문자 사용
    • 여러 형태의 자료형이 표시되어야 할 때는 파이프(|)를 이용
    
     	/**
     	 * @return string | object 
     	 */
    
  • 주석에서 띄어쓰기 방식
    주석에서 설명 글이 한줄 이상 작성되어야 할 경우 줄 마지막에 "\n" 입력 후 줄바꿈합니다.

    
     	/**
     	 * @brief 설명 \n
     	 * 상세설명 상세설명 \n
     	 * 상세설명 상세설명 \n
     	 */
    

##작성예시

상단,하단 주석 예시

  • 주석방식

     	<?php
     	/* Copyright (C) NAVER <http://www.navercorp.com> */
     
     	/**
     	 * @file addon.controller.php
     	 * @brief Addon module's controller class \n
     	 * @author NAVER ([email protected])
     	 */
     	class addonController extends addon
     	{
     		....중략....
     	}
  • 변경 사항

    1. @file, @brief 추가

      • @file 에는 현재 파일 이름을 작성
      • @brief는 파일에 대한 설명을 작성
      • @file, @brief, @author 순서로 작성
      • @file, @brief, @autor, @see, @todo, @deprecated 사용
    2. 파일 하단 주석 제거

      • 파일 하단에 작성하던 End of file, Location 주석을 삭제 합니다.



####class 멤버 메소드, 변수 주석 예시

  • 주석 방식

     	<?php
     	....중략....
     	class documentItem extends Object
     	{
     		/**
     		 * @param int $document_srl Document number
     		 */
     		var $document_srl = 0;
     
     		....중략....
     
     		/**
     		 * @brief Constructor
     		 * @param int $document_srl
     		 * @param bool $load_extra_vars
     		 * @param array $columnList
     		 * @return void
     		 */
     		function documentItem($document_srl = 0, $load_extra_vars = true, $columnList = array())
     		{
     			....중략....
     		}
    
     	....중략....
         }
  • 변경 사항

    1. 멤버 변수에 주석은 @param 사용

      • @param 작성 방식을 따름
      • @param, @see, @todo, @deprecated 사용
    2. 멤버 메소드에서 @brief 사용

      • @brief, @param, @return, @see, @todo, @deprecated 사용

오류

Clone this wiki locally