8. 单行注释与多行注释,写出便于维护的好代码

真正合格的好代码,一定是带注释的。注释写在源码旁边,告诉后来读这段代码的人:这一行在做什么,为什么这样写。ArkTS 的注释分两种,单行和多行。把说明放在该放的位置,这段代码以后改起来就有依据。

配套视频在《8. 单行注释与多行注释,写出便于维护的好代码》。

单行注释

单行注释以 // 开头,只覆盖当前这一行。从两个斜杠写起,一直到这一行结束,都是注释。换到下一行,就又是代码了。注释可以写在代码行的上方,也可以写在代码行的末尾。写在上方时,说明单独占一行,先把意图说完,再写语句:

复制代码
// 这是一行注释
console.log('Hello ArkTS');
console.log(userName);  // 这是行尾注释

这行注释只说明紧挨着的那句 console.log:它把字符串 Hello ArkTS 打到日志里。跟在代码尾巴上的,是行尾注释。说明贴着这一句,适合特别短的补充。一句能说完的,用单行注释就够。

上面那行告诉读代码的人,下一句是在打印。行尾那行告诉读代码的人,这一句打印的是用户名。

多行注释

说明要写很多行,就换成多行注释。它以 /* 开头,以 */ 结尾,中间可以随意换行。包在里面的每一行,都是注释。多行注释适合把一整段说明一次写完。

复制代码
/*
这是一段多行注释
可以写很多行说明
*/
console.log('count:', 666);

console.log 一次可以带上多个参数。输出的时候,参数之间默认用空格隔开,'count:' 和 666 打出来就是 count: 666。这种要交代好几句的规则,放在一对 /* 和 */ 中间。多行注释不能嵌套。编译器读到 /*,就从这里开始忽略文字,一直忽略到后面出现的第一个 */。注释里面再次出现的 /*,只是这段说明里的普通文字。

复制代码
/*
这是一段多行注释
可以写很多行说明
/* 嵌套 */
*/
console.log('count:', 666);

内层 /* 嵌套 */ 里的那个 */,已经把整段注释收尾。最后一行单独的 */ 落在注释外面,编译器会把它当成代码,这一段就过不了编译。一段说明只用一对 /* 和 */。

三种写法放在一起

给同一段代码加注释,可以按这个顺序来。先在代码上方写一行单行注释,再在另一行的尾巴上补行尾注释,最后用多行注释把输出规则写清楚。

复制代码
// 打印字符串
console.log('Hello ArkTS');
console.log(userName); // 打印用户名
/*
打印多个参数
输出:默认用空格自动分隔
*/
console.log('count:', 666);

用注释调试

注释还有一个马上能用的办法:调试。某一行报错,或者这会儿不想让它执行,源码先留着,在行首加上 //,这一行就被跳过。改好之后再去掉 //,代码还在。在编辑器里选中这行,按 Ctrl + / 加上注释,再按一次 Ctrl + / 就取消。打印用户名那一行先屏蔽掉,文件变成这样:

复制代码
// 打印字符串
console.log('Hello ArkTS');
// console.log(userName); // 打印用户名
/*
打印多个参数
输出:默认用空格自动分隔
*/
console.log('count:', 666);

按 Ctrl + S 保存。保存之后,日志里会打出还在执行的两句:一行是 Hello ArkTS,另一行是 count: 666。中间那句已经是注释,编译器会跳过它。

编译器会跳过注释

注释是写给开发者看的。编译器处理源码时会自动忽略这些文字,不把它们变成要执行的步骤,程序的运行结果保持原样。一句说得清,就用 //。要留下一整段规则,就用 /* 和 */。调试时先注释、后恢复。说明留下来,以后改这段代码的人能直接看懂。