我正在为大约 30 名开发人员的团队编写一组 Python 编码指南。作为我的文档的基础,到目前为止,我已经研究了Google python style guide和PEP 8 style guide,并结合了两者的信息。
Google 风格指南比 PEP 8 更严格的地方之一是导入。Google 指南要求开发人员仅导入包和模块,然后通过更合格的名称引用其中的项目。例如:
from pkg import module
...
my_class = module.MyClass()
理由是“每个标识符的来源都以一致的方式指示”。对于我们的项目,我们打算用两到三层深度的包来组织,所以要知道标识符的完整来源,读者可能无论如何都需要检查导入语句。我想提倡这种导入风格作为“首选风格”:
from pkg.module import MyClass
...
my_class = MyClass()
恕我直言,当名称更简洁时,python 结构(如列表推导)的可读性会得到提高。
我不清楚的是 python 解释器可能在幕后做什么。例如,MyClass 现在是这个模块和这个模块的所有导入器的全局命名空间的一部分吗?(这会很糟糕,可能会导致一些奇怪的错误;如果这是真的,我会提倡 Google 风格)。
我的python开发经验被限制在6个月左右(而且我们项目上没有太多专家可以咨询),所以我想从社区获得更多信息。以下是我已经研究过的一些项目:
谢谢您的反馈!