python - PEP 8 中命名约定的首要原则是什么?

标签 python terminology pep8

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/

相关文章:

javascript - 在自己的行中纠正数组函数的术语

python - flake8 错误 E901

python - PEP-8 : module at top of file

python - PEP8 和 PyQt,如何协调函数大小写?

c++ - C++中的空间泄漏?

Python:字符串格式化使用 '%' 和 '{' 作为字符的正则表达式字符串

python - 使用 matplotlib 在箱线图中显示传单颜色

python - 使用 Google AppEngine 在 Python 中进行单元测试和模拟电子邮件发件人

terminology - 框架、工具包、库

python - 在 Bittorrent 中获取 IP 地址