[英]What name should have method which returns number of nested objects?
假設我們有Gallery和Image類。 一個圖庫中可以有很多圖像。
Gallery應該有一些返回嵌套圖像數量的方法。 我的建議:
int getImagesCount ();
int countImages ();
int imagesCount ();
我在不同的API中看到了這3條建議中的每條示例(當然還有另一個名詞,甚至沒有它,例如Collections API中的method size ()
)。
您想要什么,為什么? (我對countImages ()
想法countImages ()
是,此名稱可以使用戶認為此方法進行了一些復雜的計算。)
我的建議:
public interface Gallery {
int getNumberOfImages();
//...
}
我同意, countXX()
以印象,調用此方法會觸發某種計算。 所以我也不會在這里使用它。
由於同樣的原因,我也會排除countImages ()
。
除此之外,如果代碼Gallery
中的命名約定或多或少地一致,則我建議遵循該約定。 在沒有明確的項目約定的情況下,我個人傾向於使用size()
。
如果您正在考慮使用一種方法返回大小,而另一種方法返回第n個元素,那么我的建議通常是: 不要這樣做! 使用collections API的強大功能! :創建一個返回List<Image>
。 這樣,API的用戶可以更輕松地執行諸如遍歷圖像的操作(使用增強的for循環而不是必須處理索引),對其進行排序,將其組合到其他集合中,...
確實很容易實現:
size()
和get(int)
來編寫List<Image>
,就像編寫一個小小的AbstractList
子類一樣簡單,只需覆蓋要實現的兩個方法無論如何。 size()
的問題在於,不一定要返回元素的數量(在這種情況下為圖像)還是集合的字節/千字節/兆字節大小。 出於相同的原因,我傾向於首選getImageDimensions()
而不是getImageSize()
。 在您的情況下,我喜歡countImages()
因為它簡潔明了,但是例如,如果有類似getImage(int)
方法,它就不遵循命名約定。 因此,我將不得不使用int getImagesCount()
或更好的方法,即int getNumberOfImages()
或int getNumImages()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.