成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析.NET開發過程中命名的數量和人稱

開發 后端
今天我們將介紹的是.NET開發過程中命名的數量和人稱,我們都知道命名的重要性,特別的情況是動詞的人稱和名詞的數量。

我們都明白命名的重要性,如果對命名不斷地關注,就需要考慮命名中的動詞和名詞,特別的情況是動詞的人稱和名詞的數量。

在.NET Framework的Guideline中,有專門一章討論了命名規范,包括大小寫、單詞的選擇等,卻沒有涉及到人稱和數量,下面來討論一下這兩方面的內容。

名詞的數量

首先來看數量。名詞的單數和復數在語義上有著明顯的不同,為了提高可讀性,數量需要認真地考慮。比如:

屬性(Property):System.Collections.Generic.Dictionary<TKey, TValue>中的Keys和Count是好的例子。字段與此類似; 方法名中的名詞:在JS中我們熟悉的getElementById和getElementsByTagName;

局部變量:與屬性相比,我們更可能遭遇的是局部變量。比如,用變量來表示一個人的名字,可以用string name; 如果是多個人的名字,則可以用List<string> names。

一般地,單數表達的語義是?(0或1);復數表達的語義是*(0、1或多個)。關于名詞的數量很容易理解,相關的規則也容易遵循。

動詞的人稱

下面再來考慮動詞的人稱。在需要考慮命名的對象中,包括命名空間、類型、各種類型成員,只有方法是動詞,語義上表示一個行為。關于它的人稱,來看一個.NET Framework中的例子。在System.Collections.Generic.Stack<T>中,有一個Contains(T item)方法,對于這樣的代碼:

  1. if (theStack.Contains(1))   
  2.  {   
  3.     // Do something.   
  4.  } 

讀起來像是:if the stack contains 1,比較通順。是不是所有方法都要這樣命名呢?沒有。另兩個方法Clear()和Push(T item)就不是如此,這個地方很讓人困惑。先寫成代碼看看

  1. theStack.Push(3);   
  2. theStack.Clear(); 

嘗試像上面那樣作為一個句子來讀:the stack push 3; the stack clear,語法上不對,看起來也應該是第三人稱。這里我也不確定為何如此,只能嘗試來解釋下。考察多個集合類型和其它類型后發現,所有使用第三人稱的地方都是謂詞函數,除了上面的Contains(T item),還有Directory.Exists(string path),不知道這是不是其中的命名規則呢?

還要考慮注釋

一定程度上,注釋也算是一種代碼。一種是XML文檔注釋,在.NET Framework中,不管是對于類型還是類型成員,都使用了第三人稱,這一點我們也可以遵循。其它的普通注釋應該也可以遵循這個規則。

原文鏈接:http://www.cnblogs.com/anderslly/archive/2011/01/26/name-conventions.html

【編輯推薦】

  1. .NET Framework字符串相關操作細節介紹
  2. 詳解.NET字符串解析的具體過程
  3. 改進C#連接字符串的性能
  4. .NET Lambda表達式的語義:字符串列表范例
  5. C#字符串的幾種常用方法
責任編輯:彭凡 來源: 博客園
相關推薦

2012-06-25 10:13:00

Java.NET

2010-03-04 09:54:24

Android開發

2010-02-22 17:20:45

Python開發

2009-06-17 16:10:37

Java網站優勢

2011-07-06 16:00:28

ASP

2015-09-25 10:02:52

BlocksDelegates開發

2009-11-23 20:39:21

ibmdw敏捷開發

2015-09-10 09:55:36

移動web開發問題

2009-06-10 15:36:25

ubuntu netb開發過程

2016-12-30 11:10:32

Hadoop開發JVM

2009-06-17 14:33:08

java項目開發

2011-01-04 10:05:45

敏捷開發

2010-07-15 14:47:05

Perl開發

2020-10-23 10:31:59

開發開源工具開源

2012-11-13 11:27:16

詳細設計

2022-07-31 19:59:42

文檔管理工具互聯網

2010-07-05 12:09:10

RationalJazz需求管理

2011-04-14 15:35:53

嵌入式系統嵌入式

2010-06-12 15:41:28

UML建模

2024-10-29 09:20:01

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 激情婷婷 | 亚洲美女视频 | 成人在线精品 | 国产无人区一区二区三区 | 国产一区 | 久久另类视频 | 国产ts人妖另类 | 国产欧美在线 | 成人亚洲网站 | 国产精品视频网站 | 中文字幕99| 久久婷婷麻豆国产91天堂 | 国产欧美精品区一区二区三区 | 伊人艹 | 欧美精品一区二区在线观看 | 欧美成人免费电影 | 国产小u女发育末成年 | 国产精品福利在线 | 亚洲精品国产电影 | 大陆一级毛片免费视频观看 | 久草久| 91精品导航| 亚洲精品一区二区三区免 | 国产精品一区二区久久 | 欧美男人亚洲天堂 | 在线亚州 | 日本激情一区二区 | 美女张开腿露出尿口 | 久久免费精品 | 国产亚洲精品美女久久久久久久久久 | 青青草精品| 日本不卡一区 | av午夜激情 | 国产成人区 | 成人国产在线视频 | 亚洲精选一区 | 国产成人免费视频网站高清观看视频 | 亚洲黄色片免费观看 | 国产9999精品 | 国产一区二区三区四区在线观看 | 天天爽天天干 |