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

Ily*_*gan 5 c# language-agnostic domain-driven-design naming-conventions vocabulary

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

例如:

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

  • 如果有一个处理事件的服务,可以命名EventsService吗?或EventService听起来明显更好?

谢谢您的帮助!

编辑:

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

  2. 我真的没有另一个名为PlayerInterface(或PlayerGateway)的类.如果我只需要一个播放器的接口,它只是我使用的替代名称的一个例子.我认为同时使用PlayerGateway,并PlayersGateway在同一个项目是很难维持,更不要说邪恶未来的团队成员.所以请假设没有PlayerGateway,只是PlayersGateway.

Bre*_*ent 8

我的理解是你通常应该使用单词的单数短语.例如,如果您有一个类Car,并且您有一个包含许多Car类实例的类,您可以将其称为CarCollection而不是Cars

  • 我同意,虽然我会补充一点,如果你有一个它们的集合,例如List <Car>,可以称之为*变量*'cars'. (3认同)

dan*_*n78 6

在英语中,当你将名词贴在另一个名词旁边修改它时,通常使用单数:

 Coat Room
 Guard Tower
Run Code Online (Sandbox Code Playgroud)

即使房间里有几件外套或塔内的警卫.恕我直言,变量命名应遵循语言的一般规则.