《编写可维护的JavaScript》——2.4 文档注释

简介: 这里强烈推荐你使用文档生成工具来为你的JavaScript生成文档。JavaScript代码注释必须符合你所用的工具支持的格式,但很多文档生成工具都支持JavaDoc风格的文档注释。当使用文档注释时,你应当确保对如下内容添加注释。

本节书摘来自异步社区《编写可维护的JavaScript》一书中的第2章,第2.4节,作者:【美】Nicholas C. Zakas著,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.4 文档注释

从技术的角度讲,文档注释并不是JavaScript的组成部分,但它们是一种普遍的实践。文档注释有很多种格式,但最流行的一种格式来自于JavaDoc文档格式:多行注释以单斜线加双星号(/**)开始,接下来是描述信息,其中使用@符号来表示一个或多个属性。来看一段来自YUI的源码的例子。

/**
返回一个对象,这个对象包含被提供对象的所有属性。

后一个对象的属性会覆盖前一个对象的属性。

传入一个单独的对象,会创建一个它的浅拷贝(shallow copy)。

如果需要深拷贝(deep copy),请使用'clone()'
@method merge
@param {Object} 被合并的一个或多个对象
@return {Object} 一个新的合并后的对象
**/
Y.merge = function () {
     var args    = arguments,
          i       = 0,
          len     = args.length,
          result  = {};
     for (; i < len; ++i) {
          Y.mix(result, args[i], true);
     }
     return result;
};

YUI类库使用它自己的一个名叫YUIDoc的工具来根据这些注释生成文档。但是,它的格式几乎和JSDoc Toolkit(类库无关的)一模一样,在开源项目中JSDoc Toolkit的应用非常广泛,包括Google内部的很多开源项目。YUIDoc和JSDoc Toolkit之间的重要区别是,YUIDoc同时支持文档注释中的HTML和Markdown格式,而JSDoc Toolkit只支持HTML。

这里强烈推荐你使用文档生成工具来为你的JavaScript生成文档。JavaScript代码注释必须符合你所用的工具支持的格式,但很多文档生成工具都支持JavaDoc风格的文档注释。当使用文档注释时,你应当确保对如下内容添加注释。

所有的方法

应当对方法、期望的参数和可能的返回值添加注释描述。

所有的构造函数

应当对自定义类型和期望的参数添加注释描述。

所有包含文档化方法的对象

如果一个对象包含一个或多个附带文档注释的方法,那么这个对象也应当适当地针对文档生成工具添加文档注释。

当然,注释的详细格式和用法最终还是由你所选择的文档生成工具决定的。

相关文章
|
2月前
|
JavaScript 前端开发 UED
让 HTML 向 Vue.js 华丽转身:如何把 `wangEditor` 仿腾讯文档项目整合进 Vue.js
让 HTML 向 Vue.js 华丽转身:如何把 `wangEditor` 仿腾讯文档项目整合进 Vue.js
|
3月前
|
JavaScript 前端开发
js之DOM 文档对象模型
js之DOM 文档对象模型
22 1
js之DOM 文档对象模型
|
3月前
|
JavaScript 前端开发
js之DOM 文档对象模型
js之DOM 文档对象模型
|
4月前
|
安全 Java API
Nest.js 实战 (三):使用 Swagger 优雅地生成 API 文档
这篇文章介绍了Swagger,它是一组开源工具,围绕OpenAPI规范帮助设计、构建、记录和使用RESTAPI。文章主要讨论了Swagger的主要工具,包括SwaggerEditor、SwaggerUI、SwaggerCodegen等。然后介绍了如何在Nest框架中集成Swagger,展示了安装依赖、定义DTO和控制器等步骤,以及如何使用Swagger装饰器。文章最后总结说,集成Swagger文档可以自动生成和维护API文档,规范API标准化和一致性,但会增加开发者工作量,需要保持注释和装饰器的准确性。
133 0
Nest.js 实战 (三):使用 Swagger 优雅地生成 API 文档
|
4月前
|
JavaScript
js【图解】滚动条的位置(文档与屏幕间的距离),鼠标事件距离(位置),元素距离(位置)
js【图解】滚动条的位置(文档与屏幕间的距离),鼠标事件距离(位置),元素距离(位置)
109 7
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的高校学生课堂考勤系统附带文章和源代码设计说明文档ppt
基于ssm+vue.js+uniapp小程序的高校学生课堂考勤系统附带文章和源代码设计说明文档ppt
31 1
|
5月前
|
JavaScript 前端开发 Shell
深入Node.js的进程与子进程:从文档到实践
深入Node.js的进程与子进程:从文档到实践
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的课堂管理系统附带文章和源代码设计说明文档ppt
基于ssm+vue.js+uniapp小程序的课堂管理系统附带文章和源代码设计说明文档ppt
32 0
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的众惠商城附带文章和源代码设计说明文档ppt
基于ssm+vue.js+uniapp小程序的众惠商城附带文章和源代码设计说明文档ppt
31 0
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的在线商品交易平台附带文章和源代码设计说明文档ppt
基于ssm+vue.js+uniapp小程序的在线商品交易平台附带文章和源代码设计说明文档ppt
76 0