"永远不要发明这样的名字;只能按照文件记录使用它们。"谁?

时间:2015-01-15 14:00:10

标签: python naming-conventions terminology pep8

我读了PEP 8,想知道(假想的)我是否创建一个名为__foo__的对象是个好主意。 PEP 8对此__double_leading_and_trailing_underscore__说明了这一点:

  

永远不要发明这样的名字;只记录使用它们。

我的问题是:谁?

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

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

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

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

1 个答案:

答案 0 :(得分:11)

您不建议在API中使用此类名称,是的,因为如果 Python核心开发人员为Python本身选择相同的名称,您将会失败,您的API可能会中断。

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