上一節講到開發規範,不以規矩,不成方圓,團隊開發離不開規範,這一節講的開發文檔是對開發規範的一個補充。javascript
從目的上講,規範與文檔都是爲了下降團隊的協做成本和維護成本,提升開發效率和質量,保證不會由於開發人員的變更而產生較大的影響。css
js
)隨着前端的發展,文檔已經慢慢的變得不可或缺了,並由社區的努力而造成了 JSDoc,相似 JavaDoc 和 PHPDoc。html
JSDoc 是一個根據 javascript 文件中註釋信息,生成 JavaScript 應用程序或庫、模塊的 API 文檔 的工具。你可使用他記錄如:命名空間,類,方法,方法參數等,而且不少編輯器和 IDE 都是直接支持智能提示的。前端
JSDoc 註釋通常應該放置在方法或函數聲明以前,它必須以 /**
開始,其餘任何以 /*
,/***
或者超過3個星號的註釋,都將被JSDoc解析器忽略。例如:java
/** * Book類,表明一個書本. * @constructor * @param {string} title - 書本的標題. * @param {string} author - 書本的做者. */ function Book(title, author) { this.title=title; this.author=author; } Book.prototype={ /** * 獲取書本的標題 * @returns {string|*} */ getTitle:function(){ return this.title; }, /** * 設置書本的頁數 * @param pageNum {number} 頁數 */ setPageNum:function(pageNum){ this.pageNum=pageNum; } };
{@link: ...}, {@linkplain: ...}, {@linkcode: ...}, {@tutorial: ...}
: 內聯標籤@abstract
: 抽象,必須由繼承者實現(或者覆蓋)@access
: 訪問級別(private、public或者protected)@alias
: 別名@augments
: 參數@author
: 做者@borrows
: 借用@callback
: 回調函數@classdesc
: 類描述@constant
: 常量@constructor
: 構造函數,可使用new建立一個實例@constructs
: 構造@copyright
: 版權@default
: 默認值@deprecated
: 棄用的@desc
: 描述@enum
: 枚舉值@event
: 事件@example
: 範例@exports
: 模塊導出(模塊化)@external
: 外部模塊(模塊化)@file
: 文件@fires
: 可觸發的事件@global
: 全局對象@ignore
: 忽略@inner
: 內聯對象@instance
: 實例@kind
: 標識類型@lends
: 遍歷屬於同一個標識的全部屬性@license
: 軟件受權@link
: 內聯@member
: 成員@memberof
: 屬於某成員@method
: 方法@mixes
: 合併@mixin
: 最小化@module
: 模塊(模塊化)@name
: 名稱@namespace
: 命名空間@param
: 參數@private
: 私有的(訪問控制)@property
: 屬性@protected
: 受保護的(訪問控制)@public
: 公開的(訪問控制)@readonly
: 只讀的@requires
: 依賴(模塊化)@return
: 返回值@see
: 引用@since
: 開始於@static
: 靜態的@summary
: 概述@this
: 解釋this關鍵字@throws
: 可能拋出的異常@todo
: 待辦事項@tutorial
: 引用指導手冊@type
: 類型@typedef
: 自定義類型@variation
: 區分不一樣的對象具備相同名稱的@version
: 版本html
,markdown
, json
另一個須要記錄的信息就是業務邏輯、更新日誌與備註。git
有些比較複雜的業務邏輯不太適合放在註釋裏面,須要單獨寫邏輯文檔,以備後面查看。github
有時候,有些邏輯並非簡單的用文字描述就能說的清楚的,還須要圖表或者思惟導圖的輔助。json
更新日誌也是一個比較重要文檔,可以方便查找更新狀態、時間、開發人員等。markdown
若是有額外的一些信息,須要用文檔備註一下。編輯器
上一篇:前端開發規範
參考文章:
更多博客,查看 https://github.com/senntyou/blogs
版權聲明:自由轉載-非商用-非衍生-保持署名(創意共享3.0許可證)