以下是本人對.Net平台開發實踐的一些點滴總結。這裡的技術規范主要是開發過程的代碼規范、數據庫設計規范、Com和.Net互操作規范;實踐精華是對技術實踐過程中的部分總結。
一、代碼規范
良好的代碼風格來自於同一的代碼規范。風格良好的代碼不僅具備可讀性和可維護性,同時也給人行雲流水、賞心悅目之快感。
據Microsoft公司統計,基於微軟平台的開發中,有70-80%的印度工程師在完成同類算法或者模塊時,使用的代碼基本一致;而相同的調查中只有20%的中國工程師們是基本一致的。這說明我們的代碼生產過程亟待規范。
實義命名
類型、變量、常量、方法等標識符一律采用對應的英文實義;如果涉及到兩個獨立的實義單詞,則中間用下劃線間隔或者單詞首字母大寫(兩種方式都可以);如果標識符的長度超過了30個字母,則基本上以英文單詞發音的重讀音節取選出三個字母,如Repeater用rpt,Management用mgt。
大小寫規則
目前一般有兩種大小寫規則:
Pascal大小寫形式,所有單詞第一個字母大寫,其他字母小寫。
Camel大小寫形式,除了第一個單詞,所有單詞第一個字母大寫,其他字母小寫。
類名使用Pascal大小寫形式
public class HelloWorld(或者Hello_World,以下同,不再贅述)
{
...
}
方法使用Pascal大小寫形式
public class HelloWorld()
{
void SayHello(string name)
{
...
}
}
變量和方法參數使用Camel 大小寫形式
public class HelloWorld()
{
int totalCount = 0;
void SayHello(string name)
{
string fullMessage = "Hello " + name;
...
}
}
不要使用匈牙利方法來命名變量
以前,多數程序員喜歡把數據類型作為變量名的前綴而m_作為成員變量的前綴。例如: string m_sName;int nAge;
然而,這種方式在.NET編碼規范中是不推薦的。所有變量都用Camel 大小寫形式,而不是用數據類型和m_來作前綴。
用name,address,salary等代替nam,addr,sal。
別使用單個字母的變量象i,n,x 等。使用 index,temp等。用於循環迭代的變量例外:
如果變量只用於迭代計數,沒有在循環的其他地方出現,允許用單個字母的變量命名,而不是另外取實義名。
文件名要和類名匹配,例如,對於類HelloWorld,相應的文件名應為helloworld.cs。
縮進和間隔
縮進用TAB,不用 SPACES。
注釋需和代碼對齊。
遵循VS2005的自動對齊規則,不要人為的調整。
用一個空行來分開代碼的邏輯分組。
在一個類中,各個方法的實現體必須用空行間隔,大括弧“{}”需獨立一行。
在每個運算符和括號的前後都空一格。如:
If ( showResult == true )
{
for ( int i = 0; i < 10; i++ )
{
//
}
}
而不是:
if(showResult==true)
{
for(int i= 0;i<10;i++)
{
//
}
}