Ily*_*gan 5 c# language-agnostic domain-driven-design naming-conventions vocabulary
作为非母语英语的人,我经常想知道在命名类或对象时,在名词短语的初始部分使用复数形式.
例如:
如果我有多个[流媒体]播放器的界面,那么命名它是一个很好的英语PlayersInterface,而不是PlayerInterface一个玩家的界面?
如果有一个处理事件的服务,可以命名EventsService吗?或EventService听起来明显更好?
谢谢您的帮助!
编辑:
显然在.NET中,接口名称将以a开头I.所以让我们稍微改变一下这个例子并调用它PlayersGateway.
我真的没有另一个名为PlayerInterface(或PlayerGateway)的类.如果我只需要一个播放器的接口,它只是我将使用的替代名称的一个例子.我认为同时使用PlayerGateway,并PlayersGateway在同一个项目是很难维持,更不要说邪恶未来的团队成员.所以请假设没有PlayerGateway,只是PlayersGateway.
我的理解是你通常应该使用单词的单数短语.例如,如果您有一个类Car,并且您有一个包含许多Car类实例的类,您可以将其称为CarCollection而不是Cars
在英语中,当你将名词贴在另一个名词旁边修改它时,通常使用单数:
Coat Room
Guard Tower
Run Code Online (Sandbox Code Playgroud)
即使房间里有几件外套或塔内的警卫.恕我直言,变量命名应遵循语言的一般规则.