在PEP 8 Python代码样式指南中,命名公约下列出的第一个规则是压倒一切的原则。
压倒原则 作为API的公共部分,用户可以看到的名称应该遵循反映使用情况而不是实现的约定。
PEP指南没有给出任何额外的细节或例子,这让我不确定这条规则到底意味着什么。
在PEP 8中最重要的原则是什么?这条规则什么时候适用?
发布于 2021-06-24 20:29:10
然而,我也觉得这种情况令人困惑,但我始终发现,最好让名称反映应用程序域(用法)的元素,而不是机器正在做的工作(实现)。除非域是机器本身,否则它们是相同的。我认为这就是它所指的。
很容易养成通过当前正在使用的实现命名事物的习惯,因为您在考虑在命名事物时我应该如何做X。然而,当一个人去阅读代码(尤其是第一次),你是试图在它所属的系统的上下文中理解它。因此,您通过根据域命名事物来为那些读取代码的人提供服务。
这对重构也有影响。如果对事物的命名对实现有更多的阴影,您将发现自己在重构期间更改了更多的名称。不这样做会加强域。
最后,现实世界中的元素有一个自然的组织。如果软件结构是根据它们的现实世界的对应物命名的,那么该组织可以将自己借给软件结构的组织。这也使得一个更容易阅读和潜在更好的软件。
发布于 2017-11-14 17:59:20
Python最重要的原则是,您应该能够查看代码并知道它所做的事情,而不必阅读任何其他代码。Python鼓励“显式而非隐式”,因此编写得很好的python代码应该是显而易见的。不应该有任何隐含的功能,而且每件事的命名方式都不应该让你对它所做的事情感到惊讶。
https://stackoverflow.com/questions/47292074
复制相似问题