[英]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.