《C++代码整洁之道》-C++代码整洁的基本规范

在本章中,将介绍C++代码整洁的一些基础知识,这些通常是通用的知识,但是有些却是编程语言所特有的。例如,在所有编程语言中,起一个好名字是必不可少的。其他几个方面,如const的正确使用,智能指针的使用,或Move语义的巨大优势,都是C++特有的。
Note:如果你还没有这样做,请立即daim开始使用C++11(或更高版本)!
随着2011年新标准的出现,C++在许多方面得到了改进。C++11的一些特性,以及随后的C++14和C++17的特性都太有用了,不容忽视,而且这些特性不仅只与性能有关。有了这些新特性,C++语言肯定会变得更容易使用,甚至变得更加强大。C++11不仅可以使你的代码更简短、更清晰、更易于阅读,它还可以提高你的工作效率。此外,改语言标准及后续标准的特性,使你能编写更加正确且安全的代码。

良好的命名

程序,是为了供人阅读而编写的,只是顺便提供给机器执行。
– Hal Abelson and Gerald Jay Sussman,1984
如果给变量、函数或类想出合适的名称似乎很难或几乎不可能,那么这可能表明你的代码在某些方面存在问题。也许存在设计问题,你应该找到并解决命名困难的根本原因。
以下是一些想出好名字的建议

1.名称应该自解释

我已经时刻保持代码自注释的这种观念。所谓代码自注释,就是不需要注释解释其用途的代码。
一些不好的命名的例子

unsigned int num;
bool flag;
std::vector<Customer> list;
Product data;

一些好的命名的例子

unsigned int numberOfArticles;
bool isChanged;
std::vector<Customer> customers;
Product orderdProduct;

2.使用域中的名称

这种做法的优点是显而易见的。首先,使用域中的术语,可以促进开发人员与其他利益相关人之间的沟通和交流

3.选择适当抽象层次的名称

为了控制当今软件系统的复杂性,这些系统通常是分层的。软件系统的分层意味着将整个问题分解为较小的部分作为子任务,直到开发人员确信他们能够处理这些较小的部分。进行这种分解有不同的方法和标准。

4.避免冗余的名称

如果你将一个类型的名称作为创建它的成员变量的一部分,那么给这个类提供一个能清晰表述上下文信息的命名是多余的,
不要在其成员变量中重复该类的名称

#include <string>
class Movie{
private:
 std::string movieTitle;
};

不要在成员名称中包含成员自己的类型

#include <string>
class Movie{
//...
private:
   std::string stringTitle;

5.避免晦涩难懂的缩写

6.避免匈牙利命名和命名前缀

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章