[英]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.