在PEP 8 Style Guide for Python Code , Naming Conventions 下列出的第一条规则是首要原则。
Overriding Principle
Names that are visible to the user as public parts of the API should follow conventions that reflect usage rather than implementation.
PEP 指南没有提供任何额外的细节或示例,这让我不确定这条规则的实际含义。
PEP 8 中的首要原则是什么?此规则何时适用?
最佳答案
我也觉得这很令人困惑,但是,我总是发现最好让名称反射(reflect)应用程序域(使用)的元素,而不是机器正在做什么(实现)。除非域是机器本身,否则它们是相同的。我认为这就是它所指的。
很容易养成按照您正在处理的当前实现来命名事物的习惯,因为您在命名事物的同时也在思考我该怎么做 X。然而,当一个人去阅读代码时(尤其是第一次阅读),你正试图在它所属的系统的上下文中理解它。因此,您通过根据域命名事物来为阅读代码的人提供服务。
这对重构也有影响。如果事物的命名对实现来说更隐蔽,你会发现自己在重构过程中改变了更多的名字。不这样做会强化领域。
最后,现实世界中的元素有一种自然的组织方式。如果软件构造是根据它们在现实世界中的对应物来命名的,那么该组织可能适合于软件构造的组织。这也使得更容易阅读和可能更好的软件。
关于python - PEP 8 中命名约定的首要原则是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47292074/