本节书摘来自异步社区出版社《C++面向对象高效编程(第2版)》一书中的第3章,第3.18节,作者: 【美】Kayshav Dattatri,更多章节内容可以访问云栖社区“异步社区”公众号查看。
3.18 客户对类和函数的责任
C++面向对象高效编程(第2版)
设计优秀且文档完备的类只有在客户使用时才有用。以上所有的讨论旨在满足客户的要求和需求,另一方面,客户也有自己的责任。客户必须记住以下所列的几点。再者,还需记住,在软件世界中,我们中的大多数人同时扮演着客户和实现者的角色。
(1)理解类的用途。即使类的名称可以表明它的用途,但文档中可能还会有其他的建议。类的名称所传达的信息非常有限。
(2)清楚地理解类的实现者希望从客户方面获得什么。在客户和实现者之间有一个契约。
(3)注意每个成员函数,特别是const
成员函数——它们比较安全。
(4)理解传递的参数。当类采用参数时要小心,绝不传递局部对象(栈对象)的地址给采用对象的函数。
(5)当函数返回指针和引用时,理解你的责任是什么。特别要理解对存储区的责任。
(6)如果类的文档和头文件中的信息不同,在使用类之前,要区分哪一个是正确的。
(7)优先使用以指向const
的指针和对const
的引用作为参数的函数,这些函数比较安全。
(8)不管类的实现者是谁,不要依赖他告诉你的任何非文档说明的类细节。要坚持使用类接口和说明文档。
(9)要提防那些连最小成员函数集合(构造函数、复制构造函数、赋值操作符和析构函数)都尚未实现的类。
我们将在后续章节介绍更多关于客户责任的内容。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。