C++开发中对自己的忠告
2017-03-01 22:15
253 查看
一、在编程序时,为自己在针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构尽可能地直接反映这些思想
【a】、如果你能把“它”看成一个独立的概念,就把它做成一个类
【b】、如果你能把“它”看成一个独立的实体,就把它看成某个类的一个对象
【c】、如果两个类有共同的界面,将此界面做成一个抽象类
【d】、如果两个类的实现有些显著的共同东西,就把这些共性做成一个基类
【e】、如果一个类是一种对象的容器,将它做成一个模板
【f】、如果一个函数实现对某个容器的一个算法,将它实现为对一族容器可用的模板函数
【g】、如果一组类、模板等互相之间有逻辑联系,讲它们放在一个名字空间里
二、定义一个并不是实现某个像矩阵或复数这样的数学对象的类的时候,或者定义一个底层的类型如链接表的时候
【a】、不要使用全局数据(使用成员)
【b】、不要使用全局函数
【c】、不要使用公用数据成员
【d】、不要使用友元,除非为了避免【a】或【c】
【e】、不要在一个类中放置“类型域”;采用虚函数
【f】、不要使用在线函数,除非作为效果显著的优化
类型域:那种为了说明一个类所存储数据的情况而放置的标志域
【a】、如果你能把“它”看成一个独立的概念,就把它做成一个类
【b】、如果你能把“它”看成一个独立的实体,就把它看成某个类的一个对象
【c】、如果两个类有共同的界面,将此界面做成一个抽象类
【d】、如果两个类的实现有些显著的共同东西,就把这些共性做成一个基类
【e】、如果一个类是一种对象的容器,将它做成一个模板
【f】、如果一个函数实现对某个容器的一个算法,将它实现为对一族容器可用的模板函数
【g】、如果一组类、模板等互相之间有逻辑联系,讲它们放在一个名字空间里
二、定义一个并不是实现某个像矩阵或复数这样的数学对象的类的时候,或者定义一个底层的类型如链接表的时候
【a】、不要使用全局数据(使用成员)
【b】、不要使用全局函数
【c】、不要使用公用数据成员
【d】、不要使用友元,除非为了避免【a】或【c】
【e】、不要在一个类中放置“类型域”;采用虚函数
【f】、不要使用在线函数,除非作为效果显著的优化
类型域:那种为了说明一个类所存储数据的情况而放置的标志域
相关文章推荐
- 构建自己的C/C++插件开发框架
- qtcreator开发环境或者控制台中如何添加自己编译的c/c++库
- 抛开flash,自己开发实现C++ RTMP直播流播放器
- 构建自己的C/C++插件开发框架
- 构建自己的C/C++插件开发框架(三)——总体结构
- 构建自己的C/C++插件开发框架(二)——总体功能
- 构建自己的C/C++插件开发框架(二)——总体功能
- 构建自己的C/C++插件开发框架
- 构建自己的C/C++插件开发框架(四)——核心层设计和实现
- 构建自己的C/C++插件开发框架(三)——总体结构
- 转:给自己学习C++的50个忠告
- 构建自己的C/C++插件开发框架(三)——总体结构
- 构建自己的C/C++插件开发框架
- 构建自己的C/C++插件开发框架(一)——初步设想
- 构建自己的C/C++插件开发框架(二)——总体功能
- 构建自己的C/C++插件开发框架(一)——初步设想
- C++ 学习第3天 一些给自己的忠告
- 抛开flash,自己开发实现C++ RTMP直播流播放器
- 构建自己的C/C++插件开发框架
- 构建自己的C/C++插件开发框架(一)——初步设想