-
Notifications
You must be signed in to change notification settings - Fork 3
AXISJ JSDOC 작성법
코드블럭을 사용할 땐 (```)를 입력하여 블럭을시작하고 (```)를 입력하여 블럭을 끝냅니다. 하지만 코드블럭안에 (```)를 표현할 수없으므로 (` ``)로 대체합니다. 실제 주석입력시엔 (```)로 대체 하십시요.
설명글에 다국어 표현은
<en></en>
블럭으로 감싸서 영문을 입력해주세요
자료형은 브레이스 {} 로 감싸서 표현하고 @param, @returns, @member 뒤에 두어서 각각이 전달되거나 돌아오는 자료의 타입이 무엇인지 명시적으로 표현합니다.
{Number}, {String}, {Array}, {Object}, {Boolean}, {Undefined} 처럼 javascript 자료형이름을 첫번째 문자 대문자로 하는것을 원칙으로하고 사용자가 만든 오브젝트 Class를 표현 할 때도 {클래스이름} 와 같이 표현할 수 있습니다.
{jQueryObject}
{Number}
{String}
{Array}
{Object}
{Boolean}
{Undefined}
{Null}
{HTMLElement}
{WindowObject}
{Event}
..
주석은 클래스, 네임스페이스, 멤버, 메소드에 시작위치에 /** 으로 시작되는 주석을 넣어줍니다. 각 단위별 주석 사용법은 다음과 같습니다.
설명글에 다국어 표현은
<en></en>
블럭으로 감싸서 영문을 입력해주세요
/**
* @class myClass // 클래스이름
* @classdesc 클래스설명
* @extends AXJ // 부모클래스, 없는 경우 해당줄을 삭제합니다.
* @version v1.1 // 클래스의 개발버전
* @author [email protected] // 클래스 개발자, 단순버그픽스가 아닌 메소드 추가를 한경우엔 쉼표로 이름을 추가할 수 있습니다.
* @logs // 개발이력을 간단히 "날짜 : [작업자] 내용"의 형식으로 기술합니다.
*
*/
/**
* @namespace [{<type>}] <SomeName>]
*/
전역의 위치에 정적으로 선언된 변수가 있는 경우 사용합니다. 예를 들어 AXConfig이라는 정적변수가 선언되었다면
/**
* AXISJ UI 등에 기본값으로 사용되는 설정 변수
* @namespace {Object} AXConfig
* @example
` ``
AXconfig.weekDays = [{label:""},..];
AXConfig.AXReq.contentType = "";
// 처럼 기본값을 수정할 수 있습니다.
// .net 에서 webMethod를 이용하여 개발할 때는 다음의 설정을 권장합니다.
AXConfig.AXReq.okCode = "00";
AXConfig.AXReq.contentType = "application/json; charset=utf-8";
AXConfig.AXReq.dataSendMethod = "json";
AXConfig.AXReq.resultFormatter = function () {
return this.d.object();
};
` ``
*/
처럼 선언할 수 있습니다.
멤버는 클래스의 멤버 혹은 네임스페이스의 멤버를 말합니다. 부모이름.멤버이름의 방식으로 이름을 표시해 줍니다.
/**
* AJAX호출 큐
* @member {Array} AXReqQue.que
*/
만약 멤버가 Object타입이라서 설명이 필요한 경우엔
/**
* AXTree default config
* @member AXConfig.AXTree
* @example
` ``json
AXTree: {
fitToWidthRightMargin: 10,
fitToWidth: false,
pageSize: 10,
pageHeight: 400,
keyResult: "result",
keyTree: "tree",
keyList: "list",
emptyListMSG: "목록이 없습니다."
}
` ``
*/
와 같이 내용을 기술해 줍니다.
메소드는 클래스의 메소드 혹은 네임스페이스의 메소드를 기술합니다.
/**
* @method // 클래스.메소드명 or 네임스페이스.메소드명
* @param {type} [optinalname=default] - desc
* @param {(string|string[])} [somebody=John Doe] - desc
* @returns {type} name
* @description 설명
* @example
` ``js
` ``
*/
샘플
/**
* @method AXScroll.moveTo
* @param {Number} x - scrollTop position
* @param {Number} [y] - scrollLeft position // optional 파라미터이면 []로 감싸줍니다.
* @param {Number} [y=0] - scrollLeft position // optional이고 기본값이 0 이면 이렇게~
* @param {(string|string[])} [z=("John Doe"|["apple", "banana"])] - optional 파라미터로 문자열 or 문자열 배열이 올 수 있음
* @returns {AXScroll}
* @description 스크롤위치를 이동시킵니다.
* @example
` ``
myUIScroll.moveTo();
` ``
*/
메서드 또는 클래스를 더 이상 사용하지 않는 경우 사용합니다. deprecated를 사용하는 경우 반드시 see를 같이 사용해서 대안을 제시합니다.
/**
* @deprecated AXModal.openI
* @see AXModal.open
*/