2024-05-28 21:01:21 发布
网友
Python中命名接口和抽象类的约定是什么?8号人物不讨论这个。例如,在Java中,接口通常使用“I”前缀命名。在PHP(在名称空间之前)中,抽象类通常使用“_abstract”后缀命名。
(我意识到Pythonists并不热衷于接口,也许这就是我在这个话题上找不到太多共识的原因。但接口和抽象类的使用不是我的问题。)
我认为用I前缀命名接口是完全可以接受的。
I
例如:
IFoo IPublishable
几年前我用过Zope接口。我注意到大多数代码库都使用这个约定。我们队也这么做了。
我们更喜欢IFoo与FooInterface或IFooInterface
我会朝着数字塔(从^{})、集合abc(从^{})或其他核心abc(如^{})寻找最“Pythonic”的方法来实现这一点。
由此达成的共识是,只要按原样命名它们,让人类的理解认识到它们是抽象的。
除了PEP8之外,我不知道在这方面有任何社区范围的标准,因为它没有具体解决这个问题。
我建议你做你的团队最满意的事,但最重要的是保持一致。
我认为用
I
前缀命名接口是完全可以接受的。例如:
几年前我用过Zope接口。我注意到大多数代码库都使用这个约定。我们队也这么做了。
我们更喜欢IFoo与FooInterface或IFooInterface
我会朝着数字塔(从^{} )、集合abc(从^{} )或其他核心abc(如^{} )寻找最“Pythonic”的方法来实现这一点。
由此达成的共识是,只要按原样命名它们,让人类的理解认识到它们是抽象的。
除了PEP8之外,我不知道在这方面有任何社区范围的标准,因为它没有具体解决这个问题。
我建议你做你的团队最满意的事,但最重要的是保持一致。
相关问题 更多 >
编程相关推荐