我应该在我的方法名称中使用“get”-prefix吗?

时间:2011-12-13 13:01:34

标签: java naming-conventions getter

我有这个用作数据存储库的抽象类。

public abstract class AbstractDataSource {
    public abstract DataRow getDataRow(Key key); //or just dataRow(Key key)???
}

public class CSVDataSource extends AbstractDataSource {
    @Override
    public DataRow getDataRow(Key key) { //or just dataRow(Key key)??
        //fetch row from file and return dataRow
        //....
        return dataRow;
    }
}

更具体的类(即该类的子类)实现了用于不同数据源的方法,例如, CSV,ARFF和其他格式。

我想知道“get”-Keyword在这里是否合适,因为数据检索不仅仅是返回变量,还可能需要文件系统访问权限。

那么我应该使用“get”-prefix吗?

由于

2 个答案:

答案 0 :(得分:10)

我同意,当有真正的逻辑背后,使用get关键字有时看起来不直观。在您的情况下,lookupfind前缀可能是好的替代品。 @Thomas建议也有retrieve

这个问题最初可能看似不合适。但至少在我看来,命名是良好应用程序设计的一个组成部分。

答案 1 :(得分:2)

您希望此方法是bean getter,因此您可以将其用于BeanUtils之类的内容吗?鉴于它正在进行繁重的I / O和一些逻辑,可能不是,所以我将其命名为不同。