代码定义游戏规则,数据定义游戏策略。
功能限制不是 BUG , BUG 是正确输入的产成了错误的输入。
如果输入的数据的是错误的,那么程序不应该产生输 出,而是给出错误处理。 尽量不使用没有 else 的 if 语句。尽量不使用没有 default 的 switch 语句。 如果 else 的部分什么都不干,那么给出空语句。
尽量建立自己的拷贝构造函数,改变默认的拷贝构造 函数。拷贝构造函数的内容一般是 assert(false) 语句。意思是说不可以调用拷贝构造函数,也就是这 个类的对象不能作为函数的参数传递,也不能用 aClass obj(oldobj) 的形式创建对象。只有确定需 要以上功能的时候,才编写拷贝构造函数。等号的操 作符重载类似。
输入的合理性检查。 如果函数的输入最终用户,人的输入,那么这中函数 就要检查用户输入的数据检查数据的合法性,如果不 合法,给出错误信息。甚至是退出程序。 如果函数的 输入是其他函数的输出,那么就没有做过多的出错处 理,而是使用 assert 函数。