目标
- C++应该使认真的程序员能够觉得编程序变得更愉快了
- C++是一种通用的程序设计语言,它应该
- 是一种更好的C
- 支持数据抽象
- 支持面向对象的程序设计
一般性规则
- C++的发展必须由实际问题推动
- 不被牵涉到无益的对完美的追求之中
- C++必须现在就是有用的
- 每个特征必须存在一种合理的明显实现方式
- 总提供一条转变的通路
- C++是一种语言,而不是一个完整的系统
- 为每种应该支持的风格提供全面支持
- 不试图去强迫人做什么。
设计支持规则
- 支持健全的设计概念
- 为程序的组织提供各种机制
- 直接说出你的意思
- 所有特征都必须是能够负担的
- 允许一个有用的特征比防止各种错误使用更重要
- 支持从分别开发的部分除法进行软件的组合
语言的技术性规则
- 不隐式地违反静态类型系统
- 为用户定义类型提供与内部类型同样好的支持
- 局部化是好事情
- 避免顺序依赖性
- 如有疑问,就选择该特征最容易说清楚的形式
- 语法是重要的(常以默写我们不希望的方式起作用)
- 清除使用预处理程序的必要性
低级程序设计支持规则
- 使用传统的(笨)连接器
- 没有无故的与C的不兼容性
- 在C++下面不为更低级的语言留下空间(除汇编语言之外)
- 对不用的东西不需要付出代价(零开销规则)
- 遇到有疑问的地方就提供手工控制的手段
C++语言设计规则
原文:http://my.oschina.net/firemiles/blog/394258