【发布时间】:2018-01-08 11:56:30
【问题描述】:
PEP 8 说“模块应该有简短的全小写名称。如果可以提高可读性,可以在模块名称中使用下划线。Python 包也应该有简短的全小写名称,尽管不鼓励使用下划线。 "
我正在开展一项教育计划,最终可能会有很多课程。有时一个应用程序可以提供数千节课程(即拼写),但仍然可能有很多应用程序。为了便于阅读,小写名称中的下划线似乎很重要。
当我在应用程序名称中使用下划线时,例如 顺时针计数器,“python manage.py startapp 顺时针计数器”在构建 apps.py 中的类名时会删除下划线。类名变为 “类ClockwiseCounterConfig(AppConfig): 名称 = '顺时针计数器'"
这让我很困惑,直到我学会了通过删除下划线将 apps.py 类名复制到 settings.py 的 INSTALLED_APPS 部分。
我的问题是:
为什么 PEP 8 不鼓励使用下划线?是否真的有充分的理由,或者只是过去某个时候的个人喜好。
现在或将来我是否可能会在应用名称中使用下划线来提高可读性?
【问题讨论】:
-
不清楚你在问什么。
clockwise_counter是应用名称,但ClockwiseCounterConfig是类名称,因此遵循 PEP8 对类的建议。 -
大多数网站只有几页到几百页。在网络上提供的教育程序可能有一万页甚至十万页。使用下划线为应用名称赋予与主题分类法合理的相似性似乎是有道理的。否则,应用名称将与主题分类无关。
-
我不知道这与任何事情有什么关系。应用程序配置是类,它们是从模块名称以可预测和可重复的方式构造的。无论如何,页面数不应该与应用程序中的类数相关;如果你有十万个班级,你肯定有一些非常非常错误的事情。
标签: python django naming-conventions