在PEP 8 Style Guide for Python Code中,Naming Conventions下列出的第一条规则是覆盖原则。
Overriding Principle
作为API的公共部分对用户可见的名称应遵循反映使用而非实现的约定。
PEP指南没有提供任何其他细节或示例,这使我不确定此规则的实际含义。
PEP 8中的最重要原则是什么?该规则何时适用?
答案 0 :(得分:1)
我也发现这令人困惑,但是,我一直发现让名称反映应用程序域的元素(使用)比机器正在做的工作(实现)更好。除非域是机器本身,否则它们是相同的。我想这就是它所指的。
很容易养成按您正在处理的当前实现命名事物的习惯,因为您在命名事物时正在考虑我如何做 X。然而,当人们去阅读代码时(尤其是第一次),你试图在它所属系统的上下文中理解它。因此,您通过根据域命名事物来为那些阅读代码的人提供服务。
这对重构也有影响。如果事物的命名对实现更加模糊,您会发现自己在重构期间更改了更多名称。不这样做会强化领域。
最后,现实世界中的元素有一个自然的组织。如果软件构造是根据它们在现实世界中的对应物命名的,那么该组织可能有助于软件构造的组织。这也使阅读更容易,并可能使软件更好。
答案 1 :(得分:-1)
Python的首要原则是,您应该能够查看代码并知道它的作用,而无需阅读任何其他代码。 Python鼓励“显式而非隐式”,所以编写好的python代码应该是显而易见的。不应该有任何隐含的功能,所有内容都应该以一种你不会对它的作用感到惊讶的方式命名。