你会了吗 HarmonyOS Next 项目级别的注释规范

简介: 你会了吗 HarmonyOS Next 项目级别的注释规范

HarmonyOS Next 项目级别的注释规范

程序员箴言

我最讨厌世界上的两种人:

  1. 第一种是不写注释的人
  2. 第二种是让我写注释的人

前言

随着HarmonyOS NEXT的发展加快,不少的公司已经陆续加大了资源来开发软件项目。那么伴随项目的发展,项目团队也需要按照一定

的规范来编写项目注释或者代码的说明文档。

我认为编写项目注释或者代码的说明文档最小的代价就是 直接通过编写注释的方式来实现代码的使用文档。

目前主流的IDE都会支持 jsDoc 或者 TypeDoc。 我们按照规定的格式编写代码注释,便能获得以下好处:

当我们想要调用 全局函数 px2vp时,提示工具会很清晰的给我展现出相关的使用说明。另外,如果是编写一个工具类库,还能基于相关工具生成好看的说明文档。

Person.ets

/**
 * 一个工具人类
 *
 * @since 11
 */
export class Person {
  /**
   * 年龄
   */
  age: number = 18
  /**
   *
   * 计算两个年龄相加的和
   * @param {number} n1 年龄1
   * @param {number} n2 年龄2
   * @returns {number} 总年龄
   */
  calcAge(n1: number, n2: number) {
    return n1 + n2
  }
}

DevEco Studio 自带的语法提示

jsDoc提供了对 常量、类、函数、接口、枚举等的修饰符,一般情况下不需要主动添加,因为 DevEco Studio 可以自动识别

@constant @class @function @interface @enmu 等

枚举

并且,在你引入代码提示的时候,也可以直观的观察这里来判断它是什么类型


常见代码提示修饰符

如图,如果我们想要实现上图右侧的一些语法提示功能,那么就需要自己编写合适的代码提示修饰符了

通过编写一个类来演示,首先我们提供以下基本结构

export class Person {
  age: number = 18
  protected static async calcAge4(n1: number, n2: number) {
    return n1 + n2
  }
  calcAge1(n1: number, n2: number) {
    return n1 + n2
  }
  async calcAge2(n1: number, n2: number) {
    return n1 + n2
  }
  protected async calcAge3(n1: number, n2: number) {
    return n1 + n2
  }
}

快速生成特定的注释

如我们想要给 Person添加一些备注说明,那么我们不能使用以下这种注释

// 这个单行注释不行
/* 这个普通的多行注释也不行 */

我们只能使用这种

/**
*  这个是OK的
*/

你可以在想要修饰的代码上方 输入 /** + tab 开快速生成

在带有参数的函数上方,它会自动添加参数的修饰符,包括返回值

@param 和 @returns

@param 修饰函数的形参

@returns 修饰返回值

@async

@async 修饰 异步函数

@public

@public 公开

@protected 受保护

@private 私有

@static

其他的jsDoc规范的修饰符总览

修饰符 含义
@abstract 表示一个抽象的成员,不能被直接实例化。
@access 用于指定成员的访问级别。
@alias 定义一个别名。
@async 表示一个异步函数。
@augments 指示一个类继承自另一个类。
@author 作者信息。
@borrows 表示从另一个模块借用的函数或属性。
@callback 表示一个回调函数。
@class 用于定义一个类。
@classdesc 类的描述。
@constant 表示一个常量。
@constructs 指示一个函数是构造函数。
@copyright 版权信息。
@default 默认值。
@deprecated 表示已弃用的成员。
@description 描述信息。
@enum 定义一个枚举。
@event 表示一个事件。
@example 示例代码。
@exports 用于指定要导出的成员。
@external 表示外部模块的成员。
@file 文件信息。
@fires 表示触发的事件。
@function 定义一个函数。
@generator 表示一个生成器函数。
@global 表示全局成员。
@hideconstructor 隐藏构造函数。
@ignore 表示忽略的部分。
@implements 表示实现的接口。
@inheritdoc 继承文档说明。
@inner 内部成员。
@instance 实例成员。
@interface 定义一个接口。
@kind 类型种类。
@lends 将属性借给另一个对象。
@license 许可证信息。
@listens 表示监听的事件。
@member 成员。
@memberof 属于某个对象的成员。
@mixes 混合多个类的特性。
@mixin 定义一个混入。
@module 定义一个模块。
@name 名称。
@namespace 命名空间。
@override 表示重写的成员。
@package 包信息。
@param 函数参数说明。
@private 私有成员。
@property 属性。
@protected 受保护的成员。
@public 公共成员。
@readonly 只读属性。
@requires 表示依赖的模块。
@returns 函数返回值说明。
@see 参考信息。
@since 从某个版本开始。
@static 静态成员。
@summary 摘要信息。
@this 当前对象。
@throws 抛出的异常说明。
@todo 待办事项。
@tutorial 教程信息。
@type 类型说明。
@typedef 类型定义。
@variation 变化情况。
@version 版本信息。
@yields 生成的值说明。

DevEco Studio 支持自定义修饰符

DevEco Studio 是支持自定义修饰符的,比如

虽然是可以随便自己设定,但是为了团队开发保持一直,还是建议按照一定的规范来编写。如 遵循 上述jsDoc的一些规范

DevEco Studio 快速生成说明文档

DevEco Studio NEXT Beta1(5.0.3.814)

  • 当前支持对工程或目录下.ets/.ts/.js/.md格式文件生成ArkTSDoc文档。
  • 文件中export的变量、方法、接口、类等将生成相应的ArkTSDoc文档,未export的对象不支持生成。
  • 若选择对工程/目录整体导出ArkTSDoc文档,生成后的ArkTSDoc文档目录和原目录结构一致。


参考链接

  1. @use JSDoc
  2. 生成ArkTSDoc文档
目录
相关文章
|
25天前
|
API
HarmonyOS 3.1/4项目在DevEco Studio 5.0(HarmonyOS NEXT)版本下使用的问题
有读者在使用《鸿蒙HarmonyOS应用开发入门》书中的源码时遇到问题,主要原因是使用的DevEco Studio版本不同所致。本文提供了三种解决方案:1) 降级DevEco Studio至3.1版本;2) 按照5.0版本修改书中示例;3) 等待并使用《鸿蒙之光HarmonyOS NEXT原生应用开发入门》升级版书籍。
141 1
|
24天前
|
UED
「Mac畅玩鸿蒙与硬件24」UI互动应用篇1 - 灯光控制小项目
本篇将带领你实现一个互动性十足的灯光控制小项目,用户可以通过点击按钮来控制灯光的开关。该项目将涉及状态管理、动态图片加载以及按钮交互,是学习鸿蒙应用开发的重要基础。
38 5
「Mac畅玩鸿蒙与硬件24」UI互动应用篇1 - 灯光控制小项目
|
10天前
|
存储 JSON 开发工具
三、HarmonyOS NEXT应用开发:ArkTS工程目录结构(Stage模型)
本文介绍了HarmonyOS NEXT应用开发中ArkTS工程的目录结构(Stage模型),包括AppScope、entry、hvigor、oh_modules等主要目录及其作用。重点解析了entry目录下的src > main > resources目录结构,详细说明了base、限定符目录和rawfile的作用,以及如何引用资源文件。
47 1
|
29天前
|
JSON JavaScript 前端开发
harmony-chatroom 自研纯血鸿蒙OS Next 5.0聊天APP实战案例
HarmonyOS-Chat是一个基于纯血鸿蒙OS Next5.0 API12实战开发的聊天应用程序。这个项目使用了ArkUI和ArkTS技术栈,实现了类似微信的消息UI布局、输入框光标处插入文字、emoji表情图片/GIF动图、图片预览、红包、语音/位置UI、长按语音面板等功能。
62 2
|
1月前
|
监控 UED 开发者
鸿蒙next版开发:订阅应用事件(ArkTS)
在HarmonyOS 5.0中,ArkTS引入了强大的应用事件订阅机制,允许开发者订阅和处理系统或应用级别的事件,这对于监控应用行为、优化用户体验和进行性能分析至关重要。本文详细介绍了如何在ArkTS中订阅应用事件,并提供了示例代码,包括导入模块、创建观察者、设置事件参数等步骤。通过这些方法,开发者可以更智能地管理和响应应用事件。
96 11
|
1月前
|
安全 API 数据处理
鸿蒙next版开发:ArkTS组件通用属性(隐私遮罩)
在HarmonyOS 5.0中,ArkTS引入了隐私遮罩功能,用于保护用户隐私和数据安全。本文详细介绍了隐私遮罩的通用属性和使用方法,并提供了示例代码。隐私遮罩支持Image和Text组件,在数据加载或处理过程中防止敏感信息泄露,提升用户体验和数据安全性。
62 11
|
1月前
|
UED
鸿蒙next版开发:相机开发-适配不同折叠状态的摄像头变更(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了强大的相机开发能力,特别是针对折叠屏设备的摄像头适配。本文详细介绍了如何在ArkTS中检测和适配不同折叠状态下的摄像头变更,确保相机应用在不同设备状态下的稳定性和用户体验。通过代码示例展示了具体的实现步骤。
69 8
|
1月前
|
API 内存技术
鸿蒙next版开发:相机开发-拍照(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了一套完整的API来管理相机功能,特别是拍照功能。本文详细介绍如何在ArkTS中实现拍照功能,包括导入接口、创建会话、配置会话、触发拍照及监听拍照输出流状态,并提供代码示例进行详细解读。通过本文,你将掌握如何在HarmonyOS 5.0中使用ArkTS实现高效的拍照功能。
84 7
|
1月前
|
监控 开发者
鸿蒙next版开发:使用HiDebug获取调试信息(ArkTS)
在HarmonyOS 5.0中,HiDebug是一个强大的应用调试工具,可帮助开发者获取系统的CPU使用率、内存信息等关键性能数据。本文详细介绍了如何在ArkTS中使用HiDebug,并提供了示例代码,帮助开发者进行性能分析和问题诊断。
61 7
|
1月前
|
开发者 容器
鸿蒙next版开发:ArkTS组件通用属性(文本通用)
在HarmonyOS 5.0中,ArkTS提供了丰富的文本通用属性,如textAlign、maxLines、textOverflow、fontSize、fontColor、fontStyle、fontWeight、fontFamily、lineHeight、letterSpacing和decoration等,用于实现多样的文本显示和样式效果。本文详细解读了这些属性,并提供了示例代码,帮助开发者更好地利用这些工具,提升应用界面的美观和实用性。
84 8