使用多个来命名集合是一种好习惯吗?

Gar*_*all 6 oop design-patterns coding-style naming-conventions

简而言之,使用多个命名集合和复合对象是一个好主意吗?

class PandaBears {
   PandaBear[] bears;

   class PandaBear {
   }
}
Run Code Online (Sandbox Code Playgroud)

我关心的是类名非常相似.另一方面,PandaBearList揭示了实施,但更容易区分.

Fre*_*ool 2

我会比较喜欢PandaBearCollection。作为可数名词的类名更符合 OOP 的基本隐喻,即“对象”。

例如,尝试描述以下两个函数的签名:

void func(PandaBearCollection collection1, PandaBearCollection collection2);
void func(PandaBears pandaBears1, PandaBears pandaBears2);
Run Code Online (Sandbox Code Playgroud)

第一个自然是:“一个需要两个熊猫集合的函数”。

第二个会是什么?“需要两只熊猫的功能”?不,这根本行不通。