簡體   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