我应该在方法名中使用“get”-prefix吗?
我有这个抽象类用作数据存储库。我应该在方法名中使用“get”-prefix吗?
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” - 关键字在这里是否合适,因为数据检索不仅仅是返回一个变量,还可能需要文件系统访问或任何其他。
所以我应该使用“get”-prefix或不?
感谢
我同意使用get
关键字可以有时似乎不直观的,当有背后真正的逻辑。在你的情况lookup
或find
前缀可能是很好的替代品。还有@Thomas建议的retrieve
。
这个问题最初看起来可能与主题无关。但至少对我而言,命名是良好应用程序设计的一个组成部分。
+1。不仅仅是真实的逻辑,而且也是引发异常的真正机会。 – ruakh
布尔型getters怎么样?什么使用,而不是is-前缀? – user2340939
如何计算属性,如'List'中的大小?它没有'get'前缀。 – EliuX
我推荐使用'retrieve',因为这表示比刚刚获得值更复杂的事情正在发生 –
我喜欢这个例子的检索。 – AHungerArtist