我已经阅读了许多有关接口命名约定的问题,但没有涉及它们的方法。
以这个界面为例。
public interface TableProvider<T> {
ServiceProxy<T> getServiceProxy();
JsonParser<T> getJsonParser();
String getDefinition();
}
考虑到我不允许使用setter,用get
前缀这些方法是否值得(正确)?
我应该考虑遵守JavaBean约定吗?
答案 0 :(得分:1)
对于接口中专门声明的命名方法没有约定。
接口方法应遵循相同的约定来命名方法,从而推荐动词 / 动作驼峰式方法名。
尽管get
在getDefinition()
中似乎是多余的,但根据“动词”约定,与definition()
相比,它仍然是更好的方法名称。
一个不限于所有值返回方法的get
前缀(JDK中有许多没有getXYZ
方法的接口示例)。在适当的意义上,通常会看到诸如createJsonParser
,fetchDefinition
之类的方法。
但是在我看来,TableProvider<T>
和ServiceProxy<T>
似乎并没有为方法getServiceProxy
提供一个非常直观的通用名称。这就是为什么这些准则只是约定俗成的原因,在某些情况下您或您的团队可以决定不遵循这些准则。