百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

鸿蒙开发:ArkTs语言注释(鸿蒙系统支持ar)

yuyutoo 2025-03-20 20:49 3 浏览 0 评论

前言


本篇文章节选于主要讲述ArkTs语言注释相关,所有案例均基于Api13。


所谓注释,在程序开发中,就是针对一段代码进行标注解释,好的注释能够提高代码的可读性,让代码的维护者能更快的介入,比如我们把前面的代码拿出来,如果是一个初学者,就需要翻阅资料进行了解每一个属性的作用和意思。


Text(this.message)
        .fontSize(50)
        .fontWeight(FontWeight.Bold)

但是有了注释之后,就很能直观的看出每一个属性的意思,这就是注释的作用。


Text(this.message)//设置展示的内容
        .fontSize(50)//设置文字大小
        .fontWeight(FontWeight.Bold)//设置文字字重

在实际的开发中,能够正确恰当的使用注释,是每一个开发者必备的技能,虽然说,没有注释也不影响程序的执行,但是你写的代码,他人未必能够短时间的了解,再者,你能保证,经过时间的洗礼,比如过了半年,一年,两年之后,此时的代码,你还能知道相关逻辑吗?所以,为了自身和他人能够无障碍的继续维护代码,建议,注释还是要添加的。

ArkTs中为我们提供了两种注释方式,一种是单行注释,另一种是多行注释。

单行注释


用于对某一行代码进行简单说明,以 // 开头,在前言中,我们就是使用的单行注释,在项目创建的时候,大家可以去EntryAbility中查看下,基本上也是以单行注释为主。



简单举例


const a = 1 //声明一个常量a 赋值为1
const b = 2 //声明一个常量b 赋值为2
const c = a + b //声明一个常量c 赋值为 a+b 的和
//打印常量c的值
 console.log("===" + c)

多行注释

用于对多行代码或较长的说明进行注释,以 /* 开始,以 */ 结尾,多行注释使用的地方也是非常的常见,像下面所阐述的方法和类注释等都是属于多行注释,当我们随便打开一个系统的源码,都会看到这样的注释。



简单举例

/*
 *以下的代码是用来计算常量a+常量b的和,
 * 然后通过console进行打印出结果
 **/
const a = 1
const b = 2
const c = a + b
console.log("===" + c)

当然了,中间多出的“*”,你也可以省略。


/*
 以下的代码是用来计算常量a+常量b的和,
 然后通过console进行打印出结果
*/
const a = 1
const b = 2
const c = a + b
console.log("===" + c)

变量注释

变量注释,可以使用单行注释,也可以使用多行注释,多行注释,针对变量的说明更加清晰,更加细致,我们可以打开系统的Api,可以发现,系统大部分也都是基于多行注释。


当然了,在开发中,并不意味着,我们也要遵循这样的规则,我们可以根据变量的简单与否,单行和多行进行选择性使用,一般情况下,局部变量,以单行为主,如果是成员变量,则可单行也可多行。


局部变量,单行注释:


const a = 1 //声明一个常量a 赋值为1


成员变量,单行注释:


@State message: string = '测试代码' //Text组件展示的内容

成员变量,多行注释,可以设置变量类型以及可适用版本等信息:


  /**
   * 是否显示
   * @type { boolean }
   * @since 11
   */
  isShow?: boolean

函数注释

其实函数注释也是多行注释的一种,用于解释一个函数的具体说明,至于什么是函数,在之后的《了解函数》一章中会重点概述,这里,我们只讲解关于注释相关的,比如我们随便定义一个求和的函数:


  add(a: number, b: number) {
    const c = a + b
    console.log("===" + c)
  }

有经验的人,可能一眼就能知道上述函数的作用,但是对于初学者而言就需要进行理解了,对于这样的简单的函数到还容易明白,特别是那些复杂,参数众多的函数,如果没有一个注释,是很难进行理解的,所以,在日常的开发中,是强烈建议,大家针对复杂的函数,必须进行注释的。


函数注释,一般需要描述此函数的作用,也就是这个函数是用来做什么的,还有就是,标注传递的参数及类型,以及是否具有返回值,最后,记得标注当前函数是正常使用还是已过期状态,我们不妨看下系统Api关于函数的注释。


那么基于以上的条件,我们把刚才的求和函数,加上注释。


/**
   * 求两个值的和
   * @param { number } a 任意 number 类型参数
   * @param { number } b 任意 number 类型参数
   */
  add(a: number, b: number) {
    const c = a + b
    console.log("===" + c)
  }

当有注释的时候,我们在左键点击方法的时候,可以很直观的就能知道方法的意图。


除了正常的注释之外,我们也可以标注当前方法的适用版本号,以及是否过期等注释,便于调用者更加清晰的了解。


标注版本号,使用@since。


/**
   * 求两个值的和
   * @param { number } a 任意 number 类型参数
   * @param { number } b 任意 number 类型参数
   * @since 12
   */
  add(a: number, b: number) {
    const c = a + b
    console.log("===" + c)
  }

标注方法过时,使用@deprecated。


/**
   * 求两个值的和
   * @param { number } a 任意 number 类型参数
   * @param { number } b 任意 number 类型参数
   * @since 12
   * @deprecated
   */
  add(a: number, b: number) {
    const c = a + b
    console.log("===" + c)
  }

当标注了过期之后,在调用方法的时候就会出现删除线状态,如下:


除了正常的参数注释之外,还有一种情况是带有返回值的函数,比如,我们把上面的函数改造一下,然后使用@returns标注返回。


  /**
   * 求两个值的和
   * @param { number } a 任意 number 类型参数
   * @param { number } b 任意 number 类型参数
   * @returns { number } 返回两个number类型数据相加的和
   */
  add(a: number, b: number): number {
    return a + b
  }

类注释

所谓的类注释,和方式注释其实大差不差,也是主要描述当前类的作用,当然,在实际的开发中,除了描述作用之外,一般还有创建者,时间等信息,便于后续的维护者进行快速的沟通和问题的查找,具体的参数定义,可以按照开发者喜好或者公司定义而来,一般情况下,一个项目的风格,务必要保持统一。


如下,就是一个很常见的类注释。


/**
 * AUTHOR:AbnerMing
 * DATE:2025/01/16
 * INTRODUCE:测试类,主要用于测试
 * */
export class Test {
  
}


类注释中,大家也可以进行版本的设置,或者是否过期等设置,还是那句话,具体问题具体分析。

注释模版

如果每创建一个类或者创建一个方法都要手动写上注释,显然是非常繁琐的,还好,IDE中有便捷方法的提供,也就是模版,使用模版可以很方便的实现注释,彻底解放我们的双手。


方法注释

在需要添加注释的方法上边,我们打上/**,然后回车即可,一个方法注释就给我们自动生成好了,但是并不完整,还需要我们自己书写说明等信息。


动态效果如下:


类注释

类注释模版,默认是没有的,不过,我们可以在IDE设置中进行添加,打开设置页面,找到Editor选项,点击File and Code Templates,找到ArkTs File选项,点击后,我们就可以在右边编写我们的类注释了。


由于默认情况下,我们创建ets文件是没有class的,我们也可以在这里进行设置,设置好,点击OK,以后在创建ets文件的时候,类注释就自动添加上了,如下图所示。


小结

关于注释,有一点需要注意,那就是,注释,不会被编译器或解释器执行,而本小节的重点并不是简单的教大家注释如何去写,而是在实际的项目中,我们能够真正的把注释投入到实际的开发中。


程序员这个群体很奇怪,他们针对注释有两大讨厌,一是讨厌在维护别人代码的时候,讨厌别人不写注释,二是,自己写代码的时候,让自己写注释。


不管如何,我是希望,在学习这篇文章你,能够扛起程序员注释大旗,让注释能够发扬光大!

相关推荐

ETCD 故障恢复(etc常见故障)

概述Kubernetes集群外部ETCD节点故障,导致kube-apiserver无法启动。...

在Ubuntu 16.04 LTS服务器上安装FreeRADIUS和Daloradius的方法

FreeRADIUS为AAARadiusLinux下开源解决方案,DaloRadius为图形化web管理工具。...

如何排查服务器被黑客入侵的迹象(黑客 抓取服务器数据)

---排查服务器是否被黑客入侵需要系统性地检查多个关键点,以下是一份详细的排查指南,包含具体命令、工具和应对策略:---###**一、快速初步检查**####1.**检查异常登录记录**...

使用 Fail Ban 日志分析 SSH 攻击行为

通过分析`fail2ban`日志可以识别和应对SSH暴力破解等攻击行为。以下是详细的操作流程和关键分析方法:---###**一、Fail2ban日志位置**Fail2ban的日志路径因系统配置...

《5 个实用技巧,提升你的服务器安全性,避免被黑客盯上!》

服务器的安全性至关重要,特别是在如今网络攻击频繁的情况下。如果你的服务器存在漏洞,黑客可能会利用这些漏洞进行攻击,甚至窃取数据。今天我们就来聊聊5个实用技巧,帮助你提升服务器的安全性,让你的系统更...

聊聊Spring AI Alibaba的YuQueDocumentReader

序本文主要研究一下SpringAIAlibaba的YuQueDocumentReaderYuQueDocumentReader...

Mac Docker环境,利用Canal实现MySQL同步ES

Canal的使用使用docker环境安装mysql、canal、elasticsearch,基于binlog利用canal实现mysql的数据同步到elasticsearch中,并在springboo...

RustDesk:开源远程控制工具的技术架构与全场景部署实战

一、开源远程控制领域的革新者1.1行业痛点与解决方案...

长安汽车一代CS75Plus2020款安装高德地图7.5

不用破解原车机,一代CS75Plus2020款,安装车机版高德地图7.5,有红绿灯读秒!废话不多讲,安装步骤如下:一、在拨号状态输入:在电话拨号界面,输入:*#518200#*(进入安卓设置界面,...

Zookeeper使用详解之常见操作篇(zookeeper ui)

一、Zookeeper的数据结构对于ZooKeeper而言,其存储结构类似于文件系统,也是一个树形目录服务,并通过Key-Value键值对的形式进行数据存储。其中,Key由斜线间隔的路径元素构成。对...

zk源码—4.会话的实现原理一(会话层的基本功能是什么)

大纲1.创建会话...

Zookeeper 可观测性最佳实践(zookeeper能够确保)

Zookeeper介绍ZooKeeper是一个开源的分布式协调服务,用于管理和协调分布式系统中的节点。它提供了一种高效、可靠的方式来解决分布式系统中的常见问题,如数据同步、配置管理、命名服务和集群...

服务器密码错误被锁定怎么解决(服务器密码错几次锁)

#服务器密码错误被锁定解决方案当服务器因多次密码错误导致账户被锁定时,可以按照以下步骤进行排查和解决:##一、确认锁定状态###1.检查账户锁定状态(Linux)```bash#查看账户锁定...

zk基础—4.zk实现分布式功能(分布式zk的使用)

大纲1.zk实现数据发布订阅...

《死神魂魄觉醒》卡死问题终极解决方案:从原理到实战的深度解析

在《死神魂魄觉醒》的斩魄刀交锋中,游戏卡死犹如突现的虚圈屏障,阻断玩家与尸魂界的连接。本文将从技术架构、解决方案、预防策略三个维度,深度剖析卡死问题的成因与应对之策,助力玩家突破次元壁障,畅享灵魂共鸣...

取消回复欢迎 发表评论: