C++ practise hint 2

不要使用全局变量。

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,200评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,167评论 25 709
  • 初知沪江,是在那个秋高气爽的九月。不经意地点开微信,发现自己被拉进了一个新群“三门峡网络种子教师学习群”,这是...
    zlp宁静致远阅读 392评论 0 1
  • 要么读书,要么健身。 一边养内,一边塑外;内养了自己,外养眼了别人;身体和灵魂,必须有一个在路上。
    菲梦女孩阅读 175评论 0 0
  • 良人美事,一朝抛掷,便无谓也不敢再回头看一眼。
    说太多不如沉默阅读 237评论 0 0