寫程式的過程應該是一種藝術創作過程,我們寫出來的程式體現了我們的技術水平和個人修養, 也就是說作為程式員,自己寫的程式就是自己的臉面。讓自己有臉有面的第一步就是要遵循程 序編碼規範,這裡總結一些程式編寫規範。 1. 命名規範 表達清晰是命名規範的核心,常見的命名分格有: 1.1 Pascal風格 包 ...
寫程式的過程應該是一種藝術創作過程,我們寫出來的程式體現了我們的技術水平和個人修養,
也就是說作為程式員,自己寫的程式就是自己的臉面。讓自己有臉有面的第一步就是要遵循程
序編碼規範,這裡總結一些程式編寫規範。
1. 命名規範
表達清晰是命名規範的核心,常見的命名分格有:
1.1 Pascal風格
包含一到多個單詞,每一個單詞第一個字母大寫,其餘字母小寫。例如:HelloWorld
1.2 Camel風格
包含一個到多個單詞,第一個單詞首字母小寫,其餘單詞首字母大寫。例如:name, userPhone
除了參數與變數之外,所有命名空間,類,函數,介面,屬性等名稱的命名,使用Pascal風格
參數與變數的命名使用Camel風格
2.通用命名約定
約定的是如何選擇最適當的名稱
2.1 命名方式
2.1.1 選擇容易讀的英文名稱,可讀性比詳細描述重要。例如:ScreenX 比 ScreenHorizontally
更具有可讀性
2.1.2 除了下畫線之外,不要使用連字元或者其他非字母數字字元
2.1.3 避免使用與常用編程語言的關鍵字衝突的標識符
2.1.4 變數和方法參數使用Camel風格
2.1.5 不要使用成員變數屬性作為成員變數的首碼(其他變數命名也一樣)。例如:不要像
Users m_users; 這樣定義成員變數,應該是 Users userModel;
2.2 字母縮寫
通常不要使用縮寫,除非這種縮寫已被廣泛接受,或者團隊當中大家都認可一種縮寫。
2.3 namespace命名
命名空間的命名採用Pascal風格,取名的一般規則為Zhangsan.ProjectName(人名.項目名稱),
需要用複數時,使用複數;例如使用System.Collections而不是System.Collection
需要縮寫時,不需要加複數;例如使用System.IO而不是System.IOs
2.4 類,結構和介面命名
2.4.1 按照Pascal大小寫格式,使用名詞或者名詞短語為類,介面和值命名
2.4.2 介面命名以字母I為首碼,例如,Icomponent
2.4.3 派生類的末尾使用基類的名稱。例如從Stream繼承的Framework類型以Stream結尾
3 代碼編碼規範
3.1 適當使用空行,來增加代碼的可讀性
3.1.1 應該添加一行空行的情況:
1.方法之間
2.局部變數和它後面的語氣之間
3.方法內的功能邏輯部分之間
3.1.2 應該添加兩行空行的情況:
1.同一文件的不同部分之間
2.在類,介面及彼此之間
3.2 避免使用大文件。如果一個文件里的代碼超過300~400行,必須考慮將代碼分開到不同的類中
3.3 避免一個方法代碼行數超過25行。如果超過,應該考慮將其分解成不同的方法。
3.4方法的命名。一般將其命名為動賓短語。一個方法只完成一個任務。不要把多個任務組合到一個方法中,
即使那些任務非常小。
3.5 避免使用很多成員變數,聲明局部變數,並傳遞給方法。在方法內部可以定義變數,被稱為
局部變數;在類內部可以定義變數,被稱為成員變數
3.6 不要在方法間共用成員變數,如果在幾個方法間共用一個成員變數,那就很難知道哪個方法什
麽時候修改它的值。
3.7 布爾型變數或者方法一般可以用is
、can
、has
或者should
做首碼。如,isFinished, canWork等
3.8 在類的頂部聲明所有的成員變數,靜態變數聲明在最前面
4. 控制項命名
c#控制項命名往往採用首字母小寫,其後的單詞首字母大寫的方式進行命名,而且往往以控制項縮寫作為首碼,
後面跟名字。舉例:lblName(存放Name的lable), btnEdit(編輯button)
常見的控制項縮寫如下:
5. 註釋
5.1 三斜杠(///)方式
一般用於類或者方法的前面
5.2 雙斜杠(//)方式
一般是對臨時變數,屬性等的註釋,當然也可以用在類或者方法前面,反正都是註釋
5.3 塊註釋(/*XXXX*/)方式
一般用於一段連續的註釋代碼塊
6. 參考文章
1.《c#從入門到精通(第二版)》 人民郵電出版社
2. https://www.jianshu.com/p/dc26cb8ffcb9
3. https://blog.csdn.net/antchen88/article/details/56282160
4. http://blog.jobbole.com/86170/