🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 【知识精讲】在程序中学会缩进 ## Part1 在学习`if`和`switch`的时候,你应该都不会忽略一点,就是我们的代码在每一行最开始的位置有着不同的空格数,我们称这些在每一行开始位置的空格为 **缩进(indent)**。 在程序设计中,对于同一个“层级”(同属一部分代码块)的代码,我们需要使用相同的缩进进行组织。通过缩进,我们可以让程序变得更为容易读懂。 ## Part2 先让我们来看一个同学的代码: ~~~ #include <iostream> using std::cin; using std::cout; using std::endl; int main() { int first; int second; char operator; cin>>first>>operator>>second; switch (operator) { case '+': cout << "=" << firs t+ second << endl; break; case '-': cout <<"="<<first+second<<endl; break; default: cout<<"ERROR!"<<endl; } return 0; } ~~~ 这是不是和你刚才完成的代码很像呢?你能很容易的看出这些语句之间的层次关系吗?有没有觉得这个代码乱糟糟的?你知道怎么让这个代码变得更容易被维护呢? ## Part3 那么,让老师带你一起看看,在写程序的时候,有哪些地方必须要缩进呢? * `if`,`else`,`switch`,`for`,`while`,`do`等关键字后用于组织代码块的大括号内(或这些关键字后单行代码块前) * 定义函数的大括号内 * `goto`,`case`,`default`等关键字的冒号后组织的一系列语句 * `struct`,`enum`,`union`类型定义时和变量初始化时所用的大括号内 如果你在遇到上述情况的时候进行缩进,你会获得一个看起来舒服很多的程序。 ## Part4 比如对于之前那份代码,如果我们按照上一个要求进行一下修改,我们统一在每一个层级都多添加四个空格作为缩进(也有地方用 222 个空格的,但非常不建议使用制表符 Tab 进行缩进),我们将得到: ~~~ #include <iostream> using std::cin; using std::cout; using std::endl; int main() { int first; int second; char operator; cin >> first >> operator >> second; switch (operator) { case '+': cout << "=" << first + second << endl; break; case '-': cout << "=" << first + second << endl; break; default: cout << "ERROR!" << endl; } return 0; } ~~~ ## Part5 在上面的例子中,我们进行了如下的缩进规范: * 在`main`函数的大括号内进行了缩进的统一 * 在`switch`关键字后用于组织代码块的大括号内进行了缩进统一 * 将`case`和`default`关键字的冒号后组织的一系列语句进行了缩进统一 同时,请注意,上面的例子中也已经将我们讲过的换行问题进行了规范。在之后的学习过程中,你可要努力写出良好的、易于自己和别人维护的代码哦,在换行、缩进的问题上对自己可要严格要求了喔!