python - "Never invent such names; only use them as documented."谁?

标签 python naming-conventions terminology pep8

我读了PEP 8想知道(虚构的)我创建一个名称如 __foo__ 的对象是否是个好主意。 PEP 8 关于 __double_leading_and_trailing_underscore__ 是这样说的:

Never invent such names; only use them as documented.

我的问题是:谁?

我是一名程序员。我为其他程序员编写 API。 Python 是由程序员实现的。实现的语言引用是由程序员或至少是前程序员编写的,使用我的 API 的程序员将编写一些可能会或可能不会被其他程序员使用的东西。

现在展开了,当 PEP 8 说“永远不要发明这样的名字”时,他们指的是哪个程序员?

有人显然被鼓励发明这样的名字,因为它们存在,而其他人则不被邀请这样做。

哪一组程序员应该“永远不要发明这样的名字”?

最佳答案

您不鼓励在您的 API 中使用这样的名称,是的,因为如果当 Python 核心开发人员 为 Python 本身选择相同的名称时,您将会失败,您的 API 可能会崩溃。

因此,如果您不是 Python 核心开发人员或编写的 PEP 可能有一天会成为 Python 标准库或核心语言定义的一部分,请尽量避免在 API 中使用双拼名称。

关于python - "Never invent such names; only use them as documented."谁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27965088/

相关文章:

Python:从列表中删除具有相同楼层函数的数字

python - 如何将现有的 keras 模型拆分为两个独立的模型?

javascript - 通过标准输入/输出将图像从nodejs发送到Python脚本

api - Qt 命名类的方式背后的基本原理是什么?

成为 Web 开发中文件扩展名的标准?

javascript - Array.reduce 中的参数名称应该是什么?

coldfusion - ColdFusion 中的鸭式输入

python - werkzeug.routing.BuildError : Could not build url for endpoint 'success' . 您是否忘记指定值 ['name' ]?

graphics - 什么是顶点着色器和像素着色器?

terminology - 引用调用和复制/恢复有什么区别