publication通过防止通过内省意外访问私有实现详细信息,帮助您维护公共api友好模块。
publication的Python项目详细描述
问题
正如《海姆斯劳定律》中所说的,海姆斯劳定律有点残酷,
< Buff行情> < div >
有足够数量的api用户,
你在合同中承诺什么并不重要:
系统的所有可观察行为
将由某人决定。
一般来说,python有一个不同的哲学观点 现实。我们假设彼此是库的负责用户 我们消费。每次你在执行细节上弄脏的时候 升级,但对于测试、调试和 保持这种能力的实验值得付出代价。
但是,这个假设的关键是每个人都知道 闯入图书馆界面的"私人"区域。这里,有一个 期望值不匹配:
- 库作者编写文档,然后认为用户坐下来 前后阅读文档,了解"公众" 接口就是这样做的。然后他们假设用户会知道 使用私有实现细节,如果它们偏离了这些 记录的功能。
- 库用户 pip安装 一件事,打开一个repl,导入模块, 通过对模块及其内容执行 dir() 来发现库, 假设他们的程序没有使用任何私有实现细节 只要他们不必输入库的内容 这样做。如果他们遇到回溯,他们可以咨询 文档,简短地,直到解决。
出版使人们有可能对 这些组,这样用户仍然可以从使用 内部细节,如果他们想,但他们会知道,他们这样做。它 使模块的运行时命名空间看起来像公共文档 你的图书馆。