规范是一种规定,遵守这种规定能够带来长远的利益,而违反这种规定却不会立即收到惩罚。程序设计的规范是人们在长期的编程时间中总结出来的,深入理解中这些规范需要认真的思考和大量的实践 。不符合程序设计规范的代码也能通过编译并运行。但是从长远来看,代码存在可读性差、安全性低、不易扩展、不易维护等问题。
类是面向对象程序设计的最主要的元素,遵循必要的规范,设计出性能优良的类,并以适当的方式实现,是编写出高质量程序的关键。
将类的定义放在头文件中实现。
这样可以保证通过引入头文件时,使用用的是同一个类,也有利于代码维护。
尽量将数据成员申明为私有。
数据成员表示了类对象的状态,这些状态对外界应该是不可见的。在设计一个类的时候,如果把它的数据成员访问权限设为public和protected,会带来如下影响。
(1)public数据成员,类的用户直接以来数据成员,一旦数据成员的定义繁盛改变,类的所有客户端代码都要修改,增加了代码见的耦合度。
(2)都会使类的封装性遭到破坏。 所以,应该尽量将所有的数据成员申明为私有(private)。
将成员函数放到类外定义。
类成员函数既可以放在类体内定义,也可以放在类体外定义。如果将类成员函数定义在类体内,会有如下影响。
(1)类的成员函数定义在类的内部影响可读性。一般来说,类的定义放在头文件中,使用时被不同的源文件包含,如果类成员函数定义在类体内,将会是代码体积增大,影响阅读,不利于类的修改与维护。
(2)泄露类的实现细节。不利于保护设计者的合法权益。
(3)会存在潜在的风险,如果类的成员函数存在多重定义,由于类不具有外部连接特性,C++编译器不能充分检查出类定义的二义性。
[1]陈刚.C++高级进阶教程[M].武汉:武汉大学出版社,2008[4.10(P164-P167)]