[英]Kind of a question about the English language: Using plural in the first part of an identifier name
作为非母语英语的人,我经常想知道在命名类或对象时,在名词短语的初始部分使用复数形式。
例如:
如果我有多个[流媒体]播放器的界面,那么将它命名为PlayersInterface
是好的英语,而不是PlayerInterface
,它是一个播放器的接口?
如果有一个处理事件的服务,可以将它命名为EventsService
吗? 或者EventService
声音明显更好?
谢谢您的帮助!
编辑:
显然在.NET中,接口名称将以I
开头。 所以让我们稍微改变一下这个例子并称之为PlayersGateway
。
我真的没有另一个名为PlayerInterface
(或PlayerGateway
)的类。 如果我只需要一个播放器的接口,它只是我将使用的替代名称的一个例子。 我认为在同一个项目中使用PlayerGateway
和PlayersGateway
很难维护,更不用说对未来的团队成员来说是邪恶的。 所以请假设没有PlayerGateway
,只有PlayersGateway
。
我的理解是你通常应该使用单词的单数短语。 例如,如果您有一个类Car,并且您有一个包含许多Car类实例的类,您可以将其称为CarCollection而不是Cars
在英语中,当你将名词贴在另一个名词旁边修改它时,通常使用单数:
Coat Room
Guard Tower
即使房间里有几件外套或塔内的警卫。 恕我直言,变量命名应遵循语言的一般规则。
我倾向于使用单数。 EventHandler或EventService具有它将处理一个又一个事件的含义。 对于视频播放器,我可能会相信,如果你说你连接多个播放器并在几乎同时控制它们。
你会为单数情况提供第二种类型/变量吗?
PlayersInterface AllPlayers = new PlayersInterface();
PlayerInterface MyPlayer0 = AllPlayers.getPlayer(0);
PlayerInterface MyPlayer2 = AllPlayers.getPlayer(1);
即便如此,我认为这两个类型的名字太相似了。
但是,这是个人偏好。
奇异形式通常对数据库中的类名和表名具有更多的语义意义,因为每个实例(或数据库中的行)都是奇点。
您也可以在数组上应用相同的推理。 您可以选择将parcel [4]视为包裹#4而不是一堆包裹中的第4个。
恕我直言,EventService和PlayerInterface是更好的名字听起来更好的英语耳朵。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.