Java方法返回元素集合的正确命名约定是什么?

3

我有一个类Person和一个返回Collection<Person>的方法。在Java中是否有命名约定?我应该将其命名为findPersons还是findPeople?当我们有不规则复数名称的名称时,哪个版本更可取?

在Java中,通常使用“s”来表示复数形式。因此,如果您的类名为Person,则应该使用findPeople而不是findPersons。这样可以使代码更易于理解和维护。


2
请注意,英语中两种形式都是可以接受的:“people”更口语化,但“persons”出现在英语婚礼誓言的传统措辞中:“我呼吁在场的所有人……”;或在报告犯罪时,“由未知的个人或多人实施”。 - Andy Turner
3个回答

2

以代码实现的功能为准,给它命名。

findPersons // since it would find a collection of Person

只要阅读起来流畅,且与现有代码相关联,就是好的。

你会对 Child 做同样的事情吗?findChilds?还是更倾向于使用 findChildren - Piotr Pradzynski
@PiotrPradzynski 同样也是这样,如果你想要语法正确的话,可以考虑将其重命名为 findCollectionOfChild - Naman

0

始终保持简单。为了避免复杂性,我倾向于采用更加“函数式”的方法 :) 我会只使用"find()",可能不作为这个类的一部分,而是作为一个通用函数,因为它使得代码更加臃肿且不太可重用。例如:"Collection find(args...)"

结果集本身足以表明零个或多个预期的结果。(或者如果预期的是零个或一个,则为Optional) 我的意思是,虽然这是面向对象编程,但并非全部都是基于对象的编程 ;)


0

我认为这取决于类的名称和功能。

如果类的功能是管理一组Person对象(例如,PersonManagerPersonList),那么该方法应该只被称为find,因为返回类型是暗示的。

否则,我会遵循@nullpointer's advice的建议,将方法命名为findPersons,因为它解释了代码正在做什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接