iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 10
1
Software Development

邁向專業軟體工程師必修的英文課系列 第 10

Day10 - [代名詞二] 複數型,Array或Collection的命名規則

  • 分享至 

  • xImage
  •  

在開發時,除了直接把類別建起來當物件用之外,也常會遇到針對多個同類別的物件集合或陣列。這時不但要針對多個物件處理,也要針對單個物件處理,甚至還有可能要casting到另一個類別去。在針對這類的物件的命名時也有一些眉角要注意。

簡單複數型

比較簡單的方法,個人也比較推薦的做法,就是複數型,無論是那種,就是加s處理即可,例如:

    int[] accounts = new int[capacity];

集合也是一樣,直接把名詞變成複數即可。
但還是要注意名詞的複數型是長什麼樣子,是直接加s還是他的複數型是另一種樣子。比較常見的問題應該是:他是一個不可數名詞,但感覺好像可以加s,例如:

    #Wrong
    var infos = backOffice.GetLatestInfo();
    #Correct
    var info = backOffice.GetLatestInfo();

infomation是一個不可數名詞,因此就算拿到是一個訊息列表,也不能在後面加s
https://ithelp.ithome.com.tw/upload/images/20200911/20111458pGC4PUOZ4N.png

後綴型態

為了解決上面的情況,更常用的方法是直接把型態後綴在變數後面,這其實是個不錯的方法,因為可以從名稱上看出用途還有他的型態,有匈牙利標註法的味道。對於非英文母語人士來說也比較容易操作。

    List<Message> unreadMessageList = messageHub.GetUnreadMessages();

但這是不是最好的解法呢?其實以命名規則來說是多了不必要的綴字:因為雖然這個變數是這個型態,但在呈現上未必是這個方法(無論有沒有UI)。例如像Queue或Stack,雖然用了這兩個型態,但在概念上未必真的要讓資料堆疊在一起或排在一起,可能就是一個資料結構的應用,加了反而很突兀。

陣列或集合的內含物

無論是用那種方法命名,如果要取出裡面的物件,記得要再回到單數名詞。
但有個情況可能要注意,就是像info這種,本身就是複數型,要怎麼回到單數型呢?這就要看整個設計是把什麼information集合起來了,用那個去描述這個就可以。


複數型要說明的東西比較少,但還是有些重點要介紹一下。明天的東西比較好玩,因為比較屬於我個人偏見的東西。
進入第十天了,真快。


上一篇
Day9 - [代名詞一] 變數的命名規則
下一篇
Day11 - [代名詞三] 參數
系列文
邁向專業軟體工程師必修的英文課30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言