知识卡片

隔离全局状态

普通读书笔记卡 · 1879.b

内容

全局数据让每段代码都可能影响每段代码,测试和推理都会变困难。若确实需要全局唯一资源,也应包进受控 API,让访问路径、约束和替换方式清晰可见。

参考来源

- 位置:《程序员修炼之道:通向务实的最高境界(第2版)》第5章《宁弯不折》话题28「解耦」(源文件:_epub-src/text/part0014_split_001.html) - 结论依据:原文说明全局数据让每个方法都获得一个隐藏的额外参数、增加测试难度,并明确建议把必须全局唯一的资源包装到受控API之后,直接支持卡片论点。 - 原始内容:"全局可访问的数据是应用程序组件之间耦合的潜在来源。……提示47 避免全局数据……提示48 如果全局唯一非常重要,那么将它包装到API中。"