一個新團隊的組建,規范是個很大的問題,特別對於剛畢業的學生,需要加強一下這方面的學習和訓練。上個星期給我們新來的同事講解了一下.NET編程規范,順便也回顧一下編程規范。由於前期沒有太多的准備,而且公司沒有這方面的文檔,今天記下留着備用以便整理成文檔給與后來者使用,這些都只是在下多年來使用的一些約定,可能是錯誤的或不對,歡迎各位批評指正。
命名規范:
有3種最常見的命名規范,大部分編程規范的命名法則都來自於他們。他們是:
- 匈牙利命名法:也就是Hungarian 命名法。這種命名技術是由一位能干的Microsoft程序員查爾斯·西蒙尼(Charles Simonyi) 提出的,他出生在匈牙利。就被命名為“匈牙利命名法”,主要用於Window系統編程。
- Camel命名法:也叫駱駝命名法。原因是采用該命名法的名字看起來就像駱駝的駝峰一樣高低起伏。首字母小寫例如:string myAddress;主要非Public的使用此方法。
- Pascal命名法:也叫帕斯卡命名法。首字母大寫的命名法則。例如 string MyAddress;
.NET命名規范:
在.net編程過程中,一般采用Camel和Pascal命名方法結合的方式來命名。
類 |
Pascal |
AppDomain |
枚舉類型 |
Pascal |
ErrorLevel |
枚舉值 |
Pascal |
FatalError |
事件 |
Pascal |
ValueChanged |
異常類 |
Pascal |
WebException |
只讀的靜態字段 |
Pascal |
RedValue |
接口 |
Pascal |
IDisposable |
方法 |
Pascal |
ToString |
命名空間 |
Pascal |
System.Drawing |
參數 |
Camel |
typeName |
屬性 |
Pascal |
BackColor |
一般遵循上面的命名約定就可以寫出比較好看的代碼了。當然最團隊開發中還需要注意的是對Public和Protected方法屬性等等進行注釋,代碼的美化有助於閱讀,而且多個成員之間可以一目了然的看到了方法或其他的使用情況。
C#文檔布局
一般情況下一個C#文件首先需要添加的是版權,開發者,開發日期等等信息,這個可以通過注冊class模板實現,而不需要一個一個的添加和改寫。
/***************************************************************
*
* 緩存實例。
*
* 最后修改:2011-10-28
* *********************************************************** */
namespace MyNamespace
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class MyClass{}
}
當然可以把引用的命名空間寫到前面去,只不過我比較喜歡放在里面。我們團隊的開發人員我一般都會幫他們注冊一個class模板,所以每次添加的類基本都是這樣的,關於如何添加可以查看我博客的另一篇文章:
VS2010類模板更改,增加版權等等信息
數據庫方法的命名約定
對於一個實例來說,SQL語句一般只有四個,Insert Into, Delete From, Select From, Update Set。我一般會要求團隊成員們使用Create, Delete, Get/Load, Update,當然如果方法同時都可以有Insert和Update,也可以使用CreateOrUpdate/Save來表示。方法名稱使用動賓詞語格式,如果是多個集合的使用復數形式。
最后還會鼓勵使用枚舉來替代各種數字等等表示的特性,使用const常量來替代經常出現的字符串,這樣在修改時候就不需要每個地方替換了。而且使用枚舉會更佳直觀提供代碼閱讀性,好久沒寫博客了,都不知道怎么寫,要寫些什么了,今天來亮相一下,歡迎各位批評指正!!!