//js 注释 单行注释:// 多行注释:/* */ 段落注释 模块注释 方法注释: /* * 这里是一段注释 * 这里的注释可以连写多行 */
how 与 why
好的代码应该具备很好的可读性,但是代码可以描述 how,但它不能解释 why。注释应该写什么呢?
很明显的是,注释首要功能是阐述为什么写这段代码,也就是why,需要阐述的内容有阐述这个模块的直接缘由,这个模块的主要作用,实现了什么,如果你的出入参数不明确,应该详细的解释参数的类型以及含义。
其次,你的注释应该对晦涩难懂的代码部分,依赖的其他语法和模块的部分进行特殊说明,如果你的代码有特定的使用场景也需要特别说明,比如说依赖于jq1.21以上的版本。
eg1:以下注释写明了方法的作用,适用的场景,参数的类型、字段以及含义,隶属父类 /** * 查询订单 支付确认页会用到 * @param {number} productId 商品id * @memberof orderController */eg2:主要阐述了方法作用,使用建议,适用场景;// 更新用户存储信息,建议存储到cookie一份,用于网关的请求eg3 :针对方法的可能值给出了详尽的枚举,用于更好的分析判断代码部分// type 枚举: 'Mobile Safari' ; 'WeChat' ; 'App' ; 'QQ' ; 'ali' ;eg4 :css模块注释,相比而言css注释简单的多,一般只需要将模块注释或者hack或者特殊的部分扼要说明即可;/* 面板样式*/.m-panel{ background:#fff; padding-left:.30rem; margin-bottom:.20rem;}eg5 :html的注释一般是针对页面结构层或者功能模块层进行注释,只建议针对特殊的部分,较大单独的模块进行注释; <!-- m-title 头部模块 --> <div :class="['m-title', (os=='iOS'&&uatype=='App')?'ios':'']"></div>
其他需要注释的可能
- 澄清一些普通人类无法辨认的东西,比如长的正则验证,一些复杂的算法的设计原理
// 手机验证正则,除了变量命名规范,也建议真滴匹配的思想描述下,如:验证13、14、15、17、18、19开头的11位的手机号码 let phoneReg=/^((13[0-9])|(14[0-9])|(15([0-9]))|(18[0-9])|(17[0-9])|190)\d{8}$/
- 书的章节一样注释,除了个别的方法以外,针对章节性的,具有连贯性的几个方法也要写下章节注释
//以下 xx1,xx2,xx3方法实现登录逻辑
- 编写代码时保持逻辑顺畅的指南
// 判断是否需要登录//需要登录,=> 登录验证token ,=> token有效继续执行 或 无效跳转登录// 不需要登录=> 直接跳转
- 可以重构,开发中的技术债务可以通过注释标明便于以后的重构或者清除
// this isn't my best work, we had to get it in by the deadline
- 作为教学或者维护或者后期迭代开发的重要参考
// 垂直居中解决方案.par{display:table}.par .sub{display:table-cell;vertical-align:middle;}
总结
你还觉得注释没有用吗,无论作为新手还是大神,如果想保留并继续使用自己有价值的代码,针对自己团队技术水平和代码的用途,写注释都是很必要的哦。
参考文档
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。