--- title: Clean Code Guidelines localeTitle: 清洁代码指南 --- # 清洁代码指南 编码时,您遵循的编码风格非常重要。特别是当您与团队合作或计划分享您的团队时 码。 这些指南中的大部分都是标准的,可以应用于大多数编程语言,但是,这里有应用程序和 带有c ++代码的片段,因此您可以更轻松地熟悉它。 请记住,这些只是提高清晰度的建议,可以是个人偏好,所以请听取这些建议 考虑到但不要把他们带到信中。有时,破坏其中一些规则可以使代码更清晰。 ## 使用好的变量名称并发表评论 确保你创建了一个好的变量名,例如,如果你正在创建一个游戏,避免使用变量“a”使用类似“p1”的东西来指代玩家1. [匈牙利符号](https://en.wikipedia.org/wiki/Hungarian_notation)通常是传播的,可以给你一些gidelines来声明变量。 另外,请使用评论,我甚至不开玩笑,只是尝试阅读你没有评论的一些旧项目......现在想象成为别人甚至没有编码。 ## 全局变量 全局变量可以很容易使用,只需很少的代码就可以看起来像一个很好的解决方案。但是,当代码变得越来越大时,就越难以知道它们何时被使用。 您可以使用函数中声明的变量来代替使用全局变量,这些变量可以帮助您了解传递的值 并更快地识别错误。 ```cpp #include using namespace std; // Global variables are declared outside functions int cucumber; // global variable "cucumber" ``` ## 使用goto,继续等。 这是程序员之间的常见讨论,就像全局变量一样,这些类型的语句通常被认为是不好的做法。 他们被认为是坏的,因为他们导致[“spaguetti代码”](https://en.wikipedia.org/wiki/Spaghetti_code) 。当我们编程我们想要一个 线性流,当使用这些语句时,流被修改并导致“扭曲和纠结”的流动。 Goto过去曾被用过,但是,如果函数被创建,那么就会引入那些结构化编程。 一般情况下,请避免使用goto,除非您确定它会使您的代码更清晰,更易于阅读。一个例子可能是在嵌套循环中使用它。 break和continue的使用几乎相同。在开关中使用它们并尝试仅用于创建功能,因此您只有一个出口点。 ![IMG](https://imgs.xkcd.com/comics/goto.png) ## 避免更改for循环内的控制变量 通常有一些工作,看起来更清晰,更少混淆,例如。而循环。 做: ```cpp int i=1; while (i <= 5) { if (i == 2) i = 4; ++i; } ``` 代替: ```cpp for (int i = 1; i <= 5; i++) { if (i == 2) { i = 4; } // Do work } ``` ## 在顶部声明常量和类型 它们通常在库之后声明,这使它们变得更加容易阅读。 对于局部变量,它发生相同,在顶部声明它们(其他人为了节省内存而尽可能晚地声明它们看到: [cplusplus.com](http://www.cplusplus.com/forum/general/33612/) ## 最后只使用一个返回功能 就像我们之前说过的那样,我们倾向于只进行一次进入和退出以使流程更清晰。 ## 即使在编写单行内容时也要使用花括号 系统地制作它将帮助您更快地完成它,如果您希望将来更改代码,您将能够毫无后顾之忧地完成它。 代替: ```cpp for (int i = 1; i <= 5; i++) //CODE ``` 做: ```cpp for (int i = 1; i <= 5; i++) { //CODE } ``` ## 其他建议 * #### 当您知道迭代次数时使用,而当您不知道迭代次数时使用。 * #### 在适当的时候使用const,传递值/引用。这有助于节省内存。 * ####在大写字母中写入const,以T开头的数据类型和小写的变量。 ```cpp const int MAX= 100; //Constant typedef int TVector[MAX]; //Data type TVector vector; //Vector ```