Javascript注释规范

Javascript注释规范Javascript注释规范

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

最近查看代码,看其他人的代码确实很让人头疼,由于没有任何注释规范,导致代码里很少有注释,或者注释写的很简练,今天对于注释规范进行总结。
js注释规范基于jsdoc,写出的代码注释能够成功生成注释文档。
由于jsdoc的规范太多,为了项目的可用性,对jsdoc的某些属性进行提取形成文档,供开发人员使用。

方法注释

基本方法块注释

如果描述不能描述清楚,添加例子来描述。

/** * @method * @param {Type} data 目标对象 * @returns {Type} 运营商名称 * @desc 根据目标对象获取运营商 */
function matchedNumber(data){
    return '返回对象'
}

Jetbrains全家桶1年46,售后保障稳定

基本方法块注释,注释过长

/** * @method * @param {Type} data 目标对象<br/> * 例: * { * target:手机号 * } * @returns {Type} 运营商名称 * @desc 根据目标对象获取运营商 */
function matchedNumber(data){
    return '返回对象'
}

如果需要折行则在文本中使用<br/>标签

基本方法块注释,参数可选

/** * @method * @param {Type} [data] 目标对象 * 例: * { * target:手机号 * } * @returns {Type} 运营商名称 * @desc 根据目标对象获取运营商 */
function matchedNumber(data){
    return '返回对象'
}

基本方法块注释,带默认值

/** * @method * @param {Type} data={} 目标对象 * 例: * { * target:手机号 * } * @returns {Type} 运营商名称 * @desc 根据目标对象获取运营商 */
function matchedNumber(data){
    return '返回对象'
}

方法块注释特殊参数

如果描述不能描述清楚,添加例子来描述。
如果方法中有异常处理,标记异常处理注释

/** * @method * @param {Type} data 目标对象 * @returns {Type} 运营商名称 * @desc 根据目标对象获取运营商 * @throws {string} 抛出'Error'异常 * @example * add(1, 2); // 返回3 */
function matchedNumber(data){
    return '返回对象'
}

如果有返回值增加@returns 如果没有省略此属性
参数和返回值类型Type:string、boolean、number、object、array、function

文件注释

在文件头部增加文件注释

/** * @file LBS控制器 * @author limingle * @copyright Synway SFE * @createDate 2017-10-16 09:40:11 */

变量注释

将关键的变量进行特殊注释,生成到文档中

/** * @var {object} * @desc 变量定义 * @property {string} a 属性a * @property {string} b 属性b */
var foo = {
    a: 'a',
    b: 'b'
}

常量注释

将关键常量进行特殊注释,生成到文档中,如果有默认值增加@default属性

/** * @constant {string} * @default #000 * @desc 常量定义 */
const COLOR_WHITE = '#fff';

枚举注释

用于url列表或者颜色枚举值,一般用于配置文件中

/** * @enum {number} * @desc cgi常见的返回码 */
var RETCODE = {
    /** * @desc 未登录 */
    NOT_LOGIN: 100000,
    /** * @desc 参数错误 */
    PARAM_ERROR: 100001,
    /** * @type {string} * @desc 未知错误 */
    UNKOWN_ERROR: 'unkown'
}

类的注释

默认情况先一个function就是一个类
ES6中使用Class来表示一个类
我们项目中使用class.js来实现类,在我们项目中使用类注释时需要在@class后边增加类名,不要jsdoc无法自动识别类名

/** * @class * @classdesc 这是对myClass类的描述 * @desc 这是对myClass类的构造函数的描述 */
function myClass() {
    ...
}

或者

/** * @class LBSControllerCom * @classdesc LBS控制类 * @desc 初始化ws */
var LBSControllerCom = Com.extends({})

类的属性

类的属性和变量都会生成到jsdoc文档的Member模块中,在类中使用属性标识

var LBSControllerCom = Com.extends({
    /** * @member {string} * @desc 这样标识类的属性 */
    foo1 : 'a',
    init: function() {}
})

参考链接:
JSDoc Guide

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/215562.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 软件测试流程规范简介(不同公司流程规范不一样,仅供参考)「建议收藏」

    软件测试流程规范简介(不同公司流程规范不一样,仅供参考)「建议收藏」前言:整理了一下软件测试流程规范简洁,仅供参考!一、流程图概述二、测试启动阶段(需求分析)参与软件需求评审、技术评审,以测试的角度分析需求的可测性,可构思将来对测试进行的方法、原则等。更重要的是对不可测或难以测试性问题要及时与产品经理、项目经理、研发人员协调解决。全面了解需求,从用户角度考虑软件测试需要达到的验证的状态,即哪些功能需要重点测试,哪些则无需,以便将来制定测试计划。测试人员参与项目晨会,明确需求及任务完成进度及时间节点,研发人员需向测试人员提供外部应用及使用说明(如Redis、RMQ

  • idea 2021.11.3激活【最新永久激活】

    (idea 2021.11.3激活)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • pg数据库杀进程_centos杀死进程命令

    pg数据库杀进程_centos杀死进程命令SELECTpg_stat_get_backend_pid(s.backendid)ASprocpid,      pg_stat_get_backend_activity(s.backendid)AScurrent_query   FROM(SELECTpg_stat_get_backend_idset()ASbackendid)ASs;  杀掉某个

  • 银行风控模型

    银行风控模型风控催生原因对于银行来说,现今互联网贷款和信用卡办理面临的主要难题是数据和风控。站在银行或金融机构角度,自然而然是想获得更多的信息和数据,但是在收集数据这方面又是比较无力的。加上当下的发展趋势,消费贷以及贷款审批速度都要求快。如何在快的的过程中对客户进行一个全面的审查,得出一个合理的结果呢?如果没有详细的数据对客户进行评估,这势必会提高放贷的风险。风控概述所谓风控,是指多银行贷款资金的…

  • 一个指针占几个字节?原理是什么呢?

    一个指针占几个字节?原理是什么呢?一个指针占几个字节的问题,感觉会C语言的同学都知道。但是在面试过程中,面了几个同学,不是答忘记了,就是两个、四个的瞎蒙。。。那么,一个指针到底占几个字节呢?其实,这个问题很简单,稍微上网一搜,你就知道:一个指针在64位的计算机上,占8个字节;一个指针在32位的计算机上,占4个字节。这么简单的问题,为什么面试官愿意问呢?其实这个问题不是在考你的记忆能力,是在考察你的计算机基础能力。就比如,…

  • java过滤器Filter「建议收藏」

    java过滤器Filter「建议收藏」一、简介Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断如是否有权限访问页面等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号