读书频道 > 网站 > 网页设计 > 大规模C++程序设计
1.9 小结
15-04-27    下载编辑
收藏    我要投稿   

本文所属图书 > 大规模C++程序设计

《大规模C++程序设计》由世界级软件开发大师John Lakos亲笔撰写,是C++程序设计领域最有影响力的著作之一。作者结合自己多年从事大规模C++项目的开发经验,详细介绍了大规模C++程序设计涉及的一系列概念、理论、立即去当当网订购

带有内部链接的定义限制在单个的编译单元中,则不能影响其他的编译单元,除非把它放在一个头文件中。这样的定义可以存在于.c文件的文件作用域内,不会影响全局(符号)名字空间。

在链接时,带有外部链接的定义可以用来解析其他编译单元中未定义的符号。绝大多数情况下,把这样的定义放在头文件中是一个程序设计错误。

typedef声明只是类型的别名,并不提供额外的编译时类型的安全。

在开发期间用assert语句可以有效地发现代码错误,不会影响程序的规模和在产品版本中的运行时性能。

在本书中我们采用以下风格惯例:

类型标识名以大写字母开头。

函数和数据以小写字母开头。

多词标识名的第二个及以后的词首字母大写。

常量和宏指令都用大写字母(用下划线分隔单词)。

类数据成员以d_为前缀,静态成员以s_为前缀。

类成员函数将按照创建、操纵和访问分类来组织。

在类定义中私有细节将放在公共接口之前(主要是为了强调它们在头文件中的存在)。

迭代器设计模式用于顺序访问某个基本对象的部件、属性和子对象。迭代器声明为该基本对象的友元,并且应该在对象所在的头文件中定义。本书中所使用的迭代器表示法是一种简洁的符合for循环的模型。

面向对象设计需要一系列丰富的逻辑符号,然而在本书中,我们只使用三种符号:

 
 

每个符号的方向(这里所示的是从左到右)应该和它的标签及所指出的隐含依赖方向保持一致。一些特殊种类的Uses-In-The-Implementation关系有一些特定名称(Uses、HasA、HoldsA和WasA),但是用来表示这些关系的符号都是一样的。

继承和分层是逻辑层次结构的两种形式。到目前为止,分层更具有通用性,常常涉及依赖于处理器的具体实现。当不能明显地认为问题中的类是一种所建议的基类时,分层,尤其是合成,比派生好。最后,为了满足若干客户端程序的需求而扩展单一类的功能,常常会导致类超重而不受欢迎。对于那些不被广泛使用的类来说,实现过于完整的功能可能增加不必要的开发时间、维护成本和代码规模。推迟还不需要的功能的实现可减少开发时间,同时预留选择实现版本的机会。另一方面,用户希望商用组件库功能完善,鲁棒性好。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站