注释
注释用于为代码添加描述和解释。
动机
注释有助于传达复杂代码段的意图。它们不仅有助于他人理解您编写的代码,而且对于未来的您来说也是非常棒的,当您回顾旧代码并思考“我到底在想什么??”时,它们会派上用场。您会看到我在代码片段中使用它们来帮助您理解代码!😄
注释不会以任何方式影响程序的运行。它们在编译过程中被完全忽略。
注释的类型
有单行注释
#include <iostream>
int main()
{
// this is a single line comment
// it starts with "//"
// and ends with the end of the line
std::cout << "Hello, World!";
}
... 和多行注释
#include <iostream>
int main()
{
/* this is a multi-line comment
it starts with "/" followed directly by "*"
and ends with "*" followed directly by "/"
*/
std::cout << "Hello, World!";
}
良好实践
有意义的注释
初次查看代码时,程序员通常需要坐下来几分钟,并逐一理解它所执行的每个步骤。有时这些可能是显而易见的步骤,例如计算勾股定理——它只是几个乘法...很好,简短,容易。
但是,想象一个庞大复杂的算法,例如火箭发动机点火序列。您可能会看到这样的注释块:
/*
1. Engage hydraulic engine return
2. Activate 4 igniters
3. Open LOX valve
4. Wait until combustion chamber threshold is reached
5. Open main fuel valve
*/
作为未来的程序员,您可能会看到这些并理解所有这些术语的含义。但为什么它们的顺序是这样的?为什么我们需要“接合液压发动机回程”?为什么我们首先打开液氧阀?为什么直到主燃油阀打开后才启动点火器?像这样的问题,上面那样的注释无法回答。仅仅描述事物是什么不足以解释它。
// Prints UUDDLRLRBA
std::cout << "UUDDLRLRBA";
虽然这个注释准确地描述了这行代码的作用,但它并没有帮助我们理解我们为什么要打印一系列看似随机的字符。但请看下一版本的注释:
// Prints the Konami Code, which causes the player to get 30 extra lives in the NES game Contra
std::cout << "UUDDLRLRBA";
现在我们突然明白了为什么这行代码很重要!我们现在知道这行代码对于在魂斗罗中给玩家增加30条生命是必不可少的!如果我们事先不知道科乐美代码,我们可能会认为这段代码没用并将其删除。但是,现在我们可以看到这段代码片段是有意义的,不应删除。

英文注释
最好使用英语来编写注释。英语是互联网上编程的通用语。虽然现在可能不重要,但未来可能会有其他人阅读您的代码!😃