繁体   English   中英

关于英语的一个问题:在标识符名称的第一部分使用复数

[英]Kind of a question about the English language: Using plural in the first part of an identifier name

作为非母语英语的人,我经常想知道在命名类或对象时,在名词短语的初始部分使用复数形式。

例如:

  • 如果我有多个[流媒体]播放器的界面,那么将它命名为PlayersInterface是好的英语,而不是PlayerInterface ,它是一个播放器的接口?

  • 如果有一个处理事件的服务,可以将它命名为EventsService吗? 或者EventService声音明显更好?

谢谢您的帮助!

编辑:

  1. 显然在.NET中,接口名称将以I开头。 所以让我们稍微改变一下这个例子并称之为PlayersGateway

  2. 我真的没有另一个名为PlayerInterface (或PlayerGateway )的类。 如果我只需要一个播放器的接口,它只是我使用的替代名称的一个例子。 我认为在同一个项目中使用PlayerGatewayPlayersGateway很难维护,更不用说对未来的团队成员来说是邪恶的。 所以请假设没有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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM