2011-12-13 44 views
8

我有這個抽象類用作數據存儲庫。我應該在方法名中使用「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或不?

感謝

+0

我推薦使用'retrieve',因爲這表示比剛剛獲得值更復雜的事情正在發生 –

+0

我喜歡這個例子的檢索。 – AHungerArtist

回答

9

我同意使用get關鍵字可以有時似乎不直觀的,當有背後真正的邏輯。在你的情況lookupfind前綴可能是很好的替代品。還有@Thomas建議的retrieve

這個問題最初看起來可能與主題無關。但至少對我而言,命名是良好應用程序設計的一個組成部分。

+0

+1。不僅僅是真實的邏輯,而且也是引發異常的真正機會。 – ruakh

+0

布爾型getters怎麼樣?什麼使用,而不是is-前綴? – user2340939

+0

如何計算屬性,如'List'中的大小?它沒有'get'前綴。 – EliuX

2

您是否想將此方法設置爲bean getter,因此您可以將它與BeanUtils這樣的東西一起使用?鑑於它正在執行繁重的I/O和一些邏輯,可能不會,所以我將以不同的名稱命名。

相關問題