新聞中心
我們都明白命名的重要性,如果對命名不斷地關(guān)注,就需要考慮命名中的動詞和名詞,特別的情況是動詞的人稱和名詞的數(shù)量。

10余年的仲巴網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整仲巴建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“仲巴網(wǎng)站設(shè)計”,“仲巴網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
在.NET Framework的Guideline中,有專門一章討論了命名規(guī)范,包括大小寫、單詞的選擇等,卻沒有涉及到人稱和數(shù)量,下面來討論一下這兩方面的內(nèi)容。
名詞的數(shù)量
首先來看數(shù)量。名詞的單數(shù)和復數(shù)在語義上有著明顯的不同,為了提高可讀性,數(shù)量需要認真地考慮。比如:
屬性(Property):System.Collections.Generic.Dictionary
局部變量:與屬性相比,我們更可能遭遇的是局部變量。比如,用變量來表示一個人的名字,可以用string name; 如果是多個人的名字,則可以用List
一般地,單數(shù)表達的語義是?(0或1);復數(shù)表達的語義是*(0、1或多個)。關(guān)于名詞的數(shù)量很容易理解,相關(guān)的規(guī)則也容易遵循。
動詞的人稱
下面再來考慮動詞的人稱。在需要考慮命名的對象中,包括命名空間、類型、各種類型成員,只有方法是動詞,語義上表示一個行為。關(guān)于它的人稱,來看一個.NET Framework中的例子。在System.Collections.Generic.Stack
- if (theStack.Contains(1))
- {
- // Do something.
- }
讀起來像是:if the stack contains 1,比較通順。是不是所有方法都要這樣命名呢?沒有。另兩個方法Clear()和Push(T item)就不是如此,這個地方很讓人困惑。先寫成代碼看看
- theStack.Push(3);
- theStack.Clear();
嘗試像上面那樣作為一個句子來讀:the stack push 3; the stack clear,語法上不對,看起來也應(yīng)該是第三人稱。這里我也不確定為何如此,只能嘗試來解釋下??疾於鄠€集合類型和其它類型后發(fā)現(xiàn),所有使用第三人稱的地方都是謂詞函數(shù),除了上面的Contains(T item),還有Directory.Exists(string path),不知道這是不是其中的命名規(guī)則呢?
還要考慮注釋
一定程度上,注釋也算是一種代碼。一種是XML文檔注釋,在.NET Framework中,不管是對于類型還是類型成員,都使用了第三人稱,這一點我們也可以遵循。其它的普通注釋應(yīng)該也可以遵循這個規(guī)則。
原文鏈接:http://www.cnblogs.com/anderslly/archive/2011/01/26/name-conventions.html
【編輯推薦】
- .NET Framework字符串相關(guān)操作細節(jié)介紹
- 詳解.NET字符串解析的具體過程
- 改進C#連接字符串的性能
- .NET Lambda表達式的語義:字符串列表范例
- C#字符串的幾種常用方法
分享標題:淺析.NET開發(fā)過程中命名的數(shù)量和人稱
瀏覽路徑:http://www.fisionsoft.com.cn/article/dhshgse.html


咨詢
建站咨詢
