Java中的接口命名

问题:

大多数OO语言以其大写首字母前缀其接口名称,为什么Java不这样做?没有遵守这项公约的理由是什么?
为了演示我的意思,如果我想要一个用户界面和一个用户实现,我会在Java中有两个选择:

在大多数语言中:

Class = User,Interface = IUser

现在,您可能会认为,您可以随时为用户实现选择一个最具描述性的名称,并且问题消失,但Java推出POJO方法来处理事件,大多数IOC容器广泛使用DynamicProxies。这两件事情意味着你会有很多接口与一个POJO实现。
所以,我想我的问题归结为:“是否值得遵循更广泛的Interface命名约定,特别是鉴于Java Framework似乎在哪里?

回答:

我不喜欢在接口上使用前缀:

  • 这个前缀会伤害可读性。
  • 在客户端中使用接口是标准的最佳编程方式,因此接口名称尽可能简短愉快。实施课程应该比较难以阻止他们的使用。
  • 当从抽象类更改为接口时,使用前缀I的编码约定意味着重命名类的所有出现 – 不好!

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Interface naming in Java

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 10 = 14