C++ practise hint 2

2017-05-12  本文已影响13人  ahuangliang

不要使用全局变量。

全局变量的可怕之处在于,无论读或写,它都不可信赖。因为你不知道是否有哪个程序做了不该做的修改,或者忘记做了应该做的修改。那怕当前的测试结果正确,也不能保证这是特性,还是bug。

不要使用超大可访问性,且状态可变的对象,比如有状态的单例对象。

程序不是一个不可分割的整体,它由一些自治的模块共同组成一个联邦,当有一个模块去关系另一个模块的状态时,它们的行为就难以预测。

单例对象,应只相当于一个入口,它的功能就是提供一个全局可访问的入口,而不是提供功能或者提供可查询的状态。

可以例外的情况,包括内存管理,日志,配置,错误处理等,每个模块都应该有功能,它们可以共享相同的对象。因为这些功能明确,不会也不应该有出人意料的影响。

上一篇下一篇

猜你喜欢

热点阅读