首页 > 其他分享 >HarmonyOS Next 如何优雅的编写注释

HarmonyOS Next 如何优雅的编写注释

时间:2024-12-15 19:33:24浏览次数:3  
标签:修饰符 number 优雅 注释 HarmonyOS 文档 n1 n2 Next

HarmonyOS Next 如何优雅的编写注释

程序员箴言

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

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

前言

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

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

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

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

image-20240929004710826

当我们想要调用 全局函数 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;
  }
}

image-20240929010044597

DevEco Studio 自带的语法提示

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

@constant @class @function @interface @enmu 等

image-20240929011503966

枚举

image-20240929011553049

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

image-20240929011750736


image-20240929012128049

常见代码提示修饰符

image-20240929012352082

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

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

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 开快速生成

PixPin_2024-09-29_01-31-34

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

PixPin_2024-09-29_01-33-28

@param 和 @returns

@param 修饰函数的形参

@returns 修饰返回值

image-20240929013703645

@async

@async 修饰 异步函数

image-20240929013924434

@public

@public 公开

@protected 受保护

@private 私有

image-20240929014127121

@static

image-20240929014309520

其他的 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 是支持自定义修饰符的,比如

image-20240929010933164

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

DevEco Studio 快速生成说明文档

DevEco Studio NEXT Beta1(5.0.3.814)

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

image-20240929014948209


image-20240929015033130

参考链接

  1. @use JSDoc
  2. 生成 ArkTSDoc 文档

标签:修饰符,number,优雅,注释,HarmonyOS,文档,n1,n2,Next
From: https://www.cnblogs.com/aspXiaoBai/p/18608381

相关文章

  • HarmonyOS Next 开发的艺术 面向对象
    HarmonyOSNext开发的艺术面向对象聊聊应用的开发范式Harmony应用的主要开发范式,是采用了类似面向对象的范式。struct在java语言中表示结构体。前端工程师可以将其看成是class即可其实这个开发风格会给大部分的前端工程师不太适应的感觉。因为目前主流的前端开发框架......
  • HarmonyOS Next 实战卡片开发 01
    HarmonyOSNext实战卡片开发01介绍FormKit(卡片开发服务)提供一种界面展示形式,可以将应用的重要信息或操作前置到服务卡片(以下简称“卡片”),以达到服务直达、减少跳转层级的体验效果。卡片常用于嵌入到其他应用(当前被嵌入方即卡片使用方只支持系统应用,例如桌面)中作为其界面显示......
  • HarmonyOS Next 设计模式-单例模式
    HarmonyOSNext设计模式-单例模式前言软件设计模式([Designpattern](https://baike.baidu.com/item/Designpattern/10186718?fromModule=lemma_inlink)),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代......
  • HarmonyOS Next 实战卡片开发 02
    HarmonyOSNext实战卡片开发02卡片开发中,还有一个难点是显示图片。其中分为显示本地图片和显示网络图片显示本地图片卡片可以显示本地图片,如存放在应用临时目录下的图片。路径比如/data/app/el2/100/base/你的项目boundleName/temp/123.png以下操作是为了得到一张该目......
  • HarmonyOS Next 并发 taskpool 和 worker
    HarmonyOSNext并发taskpool和worker总览介绍并发,指的是同一时间内,多段代码同时执行。在ArkTs编程中,并发分为异步并发和多线程并发。异步并发异步并发并不是真正的并发,比如在单核设备中,同时执行多端代码其实是通过CPU快速调度来实现的。比如一个司机,它在同一时间只......
  • 心觉:如何才能优雅且快速地成长?
    Hi,我是心觉,带你用潜意识化解各种焦虑、内耗,建立无敌自信;教你财富精准显化的实操方法;关注我,伴你一路成长!每日一省写作256/1000天成长,不是每个人都会追求,但是能点开这篇文章的,说明觉悟还是很高的,为自己点个大大的赞想要成长是好事,能不能成长又是一回事,能不能快速成长又是一个......
  • next_js 存在缓存中毒漏洞(CVE-2024-46982)
    免责声明:本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在使用本......
  • 鸿蒙NEXT开发案例:经纬度距离计算
     【引言】在鸿蒙NEXT平台上,我们可以轻松地开发出一个经纬度距离计算器,帮助用户快速计算两点之间的距离。本文将详细介绍如何在鸿蒙NEXT中实现这一功能,通过简单的用户界面和高效的计算逻辑,为用户提供便捷的服务。【环境准备】•操作系统:Windows10•开发工具:DevEcoStudio......
  • LeetCode //C - 496. Next Greater Element I
    496.NextGreaterElementIThenextgreaterelementofsomeelementxinanarrayisthefirstgreaterelementthatistotherightofxinthesamearray.Youaregiventwodistinct0-indexedintegerarraysnums1andnums2,wherenums1isasubsetof......
  • HarmonyOS AnimatableExtend装饰器的使用说明
    @AnimatableExtend装饰器用于自定义可动画的属性方法,允许开发者在动画执行过程中通过逐帧回调函数修改不可动画属性值,从而使不可动画属性也能实现动画效果。语法@AnimatableExtend(UIComponentName)functionfunctionName(value:typeName){.propertyName(value)}@Anima......