11# 代码注释
22
3- 代码注释几乎是每个编程语言都必有的功能,它的主要作用就是让开发者能够更好更快速的阅读代码理解其的意思。在 C++ 中有着多种的注释类型,每个注释类型都有其对应的使用方式和适合的使用场景 。
3+ 代码注释几乎是每个编程语言都必有的功能,它的主要作用就是让开发者能够更好更快速的阅读代码理解其的意思。在 C++ 中有着多种的注释方式,每个注释方式都有其对应的使用方式和适合的使用场景 。
44
55## 基础注释
66
7- 在 C++ 中最基本且最常用的注释类型有以下两种 :
7+ 在 C++ 中最基本且最常用的注释方式有以下两种 :
88
99* ** 单行注释**
1010* ** 多行注释**
@@ -22,13 +22,13 @@ int age = 18;
2222
2323由于单行注释的特性也可以将其写在某行代码的后方,具体使用场景为定义了多个变量需要描述解释。
2424
25- ``` {note }
25+ ``` {tip }
2626为了让代码看起来更加的整洁美观,我们通常会使用 `Tab` 键来让代码或注释缩进使其与上下行的代码垂直对齐。
2727```
2828
2929``` CPP
30- char C = " A " ; // 字母 A
31- int ID = " 5201314 " // 身份标识
30+ std::cout << " Modern C++ Full-Stack Tutorial " << std::endl; // 书籍名称
31+ std::cout << " Author: 龙森 " << std::endl; // 书籍作者
3232```
3333
3434### 多行注释
@@ -37,8 +37,8 @@ int ID = "5201314" // 身份标识
3737
3838``` CPP
3939/*
40- 下方函数是用来进行加法计算的
41- 调用此函数进行 A + B 操作
40+ 整型函数
41+ 进行 A + B 操作
4242 将返回计算结果
4343*/
4444
@@ -48,18 +48,6 @@ int Addition(int A, int B) {
4848}
4949```
5050
51- 如果想要美化多行注释代码可以添加一些 ASCII 符号进行美化。
52-
53- ```CPP
54- /*
55- ==== 函数说明 ====
56- 这里是函数的使用说明
57-
58- ==== 参数说明 ====
59- 这里是参数的传参说明
60- */
61- ```
62-
6351如果在开发过程中你需要临时屏蔽某些代码但又不想删除的时候也可以使用注释来进行屏蔽。
6452
6553```CPP
@@ -68,7 +56,7 @@ int Addition(int A, int B) {
6856
6957## 高级注释
7058
71- 在普通注释的基础上高级注释可以使用特殊工具如 ` Doxygen ` 提取 C++ 的代码和对应的 ` Doxygen ` 注释编译成一个在线文档或 PDF 能够让开发者在无需翻阅大量代码的前提下精准的找到自己想要查看的代码的对应描述 ,同时高级注释语法支持将整个代码文件进行注释描述。
59+ 在普通注释的基础上高级注释可以使用特殊工具如 ` Doxygen ` 提取 C++ 的代码和对应的 ` Doxygen ` 注释编译成一个在线文档能够让开发者在无需翻阅大量代码的前提下精准的找到自己想要查看的代码的对应描述 ,同时高级注释语法支持将整个代码文件进行注释描述。
7260
7361### 代码文件注释
7462
@@ -79,10 +67,8 @@ int Addition(int A, int B) {
7967 * @details 一些细节
8068 * @mainpage 工程概览
8169 * @author 作者
82- * @email 邮箱
8370 * @version 版本号
8471 * @date 年-月-日
85- * @license 版权
8672 */
8773```
8874
@@ -92,28 +78,22 @@ int Addition(int A, int B) {
9278
9379该类型注释通常由开发工具定义与实现具体功能,其中 ` TODO ` 已经被绝大多数的开发工具所兼容,它的功能是显示一个待办事项常用于用来标记接下来所要进行的任务或所需修改的功能。
9480
95- ### TODO
96-
9781``` CPP
98- // TODO 接下来编写一个加法计算函数
99-
100- // TODO 老板让我优化 *** 代码的运行速度
82+ // TODO 增加分流功能
10183```
10284
103- 对于提醒类型的注释通常你的开发工具会在控制台中显示且高亮该注释所在行,有些开发工具会在你编译的时候终止并显示此行直至你删除了这个待办事项注释。
85+ ** 其它类型: **
10486
105- ### 其它提醒注释
87+ | 注释类型 | 作用和使用场景 | 示例 |
88+ | :----: | :----:| :----: |
89+ | ** TODO** | ** 待办事项** :最常用的一种,用于标记任何需要完成的任务 | ` // TODO: 实现用户身份验证逻辑 ` |
90+ | ** FIXME** | ** 待修复** :明确指出代码中存在一个已知但尚未修复的 bug。 | ` // FIXME: 当输入为负数时,此函数会崩溃 ` |
91+ | ** HACK** | ** 临时方案** :当前代码能正常工作,但未来应该用更好的方法重构。 | ` // HACK: 为了临时解决渲染延迟,这里强制刷新了两次 ` |
92+ | ** UNDONE** | ** 未完成** :表示某段代码或一个功能块的开发被中断,尚未彻底完成。 | ` // UNDONE: 重构到一半,需要继续完成剩余部分 ` |
93+ | ** XXX** | ** 警示/危险** :用于标记代码中存在严重问题或可能导致风险的地方,需要特别注意。 | ` // XXX: 这里的内存管理逻辑可能导致泄露 ` |
94+ | ** NOTE** | ** 笔记/说明** :用于对某段复杂的代码进行解释或提供额外信息,帮助他人理解。 | ` // NOTE: 这里使用位运算是为了提高性能 ` |
10695
107- | 注释类型 | 作用和使用场景 | 示例 |
108- | :----------- | :-------------------------------------------------------------- | :------------------------------ |
109- | ** ` TODO ` ** | ** 待办事项** :最常用的一种,用于标记任何需要完成的任务,比如一个尚未实现的功能或需要补充的逻辑。 | ` // TODO: 实现用户身份验证逻辑 ` |
110- | ** ` FIXME ` ** | ** 待修复** :明确指出代码中存在一个已知但尚未修复的 bug。它的紧急程度通常比 ` TODO ` 更高。 | ` // FIXME: 当输入为负数时,此函数会崩溃 ` |
111- | ** ` HACK ` ** | ** 临时方案** :标记一段走了捷径或使用了不优雅方式实现的代码。这表示它能正常工作,但不是最佳实践,未来应该用更好的方法重构。 | ` // HACK: 为了临时解决渲染延迟,这里强制刷新了两次 ` |
112- | ** ` UNDONE ` ** | ** 未完成** :表示某段代码或一个功能块的开发被中断,尚未彻底完成。 | ` // UNDONE: 重构到一半,需要继续完成剩余部分 ` |
113- | ** ` XXX ` ** | ** 警示/危险** :用于标记代码中存在严重问题或可能导致风险的地方,需要特别注意。 | ` // XXX: 这里的内存管理逻辑可能导致泄露 ` |
114- | ** ` NOTE ` ** | ** 笔记/说明** :用于对某段复杂的代码进行解释或提供额外信息,帮助他人理解。 | ` // NOTE: 这里使用位运算是为了提高性能 ` |
115-
116- ``` {note}
96+ ``` {Attention}
11797并不是所有的开发工具都支持提醒注释,具体是否能用还要在你的开发工具上进行对应的测试。
11898```
11999
@@ -123,4 +103,6 @@ int Addition(int A, int B) {
123103
124104** 实时注释** : 当你对代码进行了改动请确保注释也进行对应的更新,防止出现注释与代码的实际功能有差异。
125105
126- ** 表明实意** : 注释应该表达代码无法直接传递的实际意思,而不是重复的表达代码的内容。
106+ ** 表明实意** : 注释应该表达代码无法直接传递的实际意思,而不是重复的表达代码的内容。
107+
108+ ** 注释方案** : 在大型项目中尽量使用 Doxygen 注释语法,这样做的好处就是能够提升注释的可读性也可编译成项目文档。
0 commit comments