C#操作手冊(一):命名規范


代碼規范在研發項目團隊中有着重要作用,團隊統一代碼規范,有助於提升代碼可讀性以及工作效率。

代碼規范主要包括命名、版式、注釋等幾個方面:

其中命名包括變量、類、方法、文件名、數據庫、表、字段、接口等方面。

版式包括縮進、換行、對齊、大括號、循環體、邏輯判斷等方面。

注釋包括包注釋、文件注釋、類注釋、方法注釋、參數注釋、變量注釋、代碼片段注釋等。

 

那么微軟官方本身也是擬了一些草稿規范的,傳送門:C# 6.0 草稿規范,拜讀了官網后,感覺就是一個標准的官方發言,然后分段整理整理了一下。

PS:當前更新命名規范,更多還在持續整理中。

 

命名規范:

 

所有命名(類名、屬性名、變量名、常量名、屬性名)必須以字母開頭(a-z、A-Z),不能以特殊字符(_、$)開頭。

1、【強制】類名命名規則:大駝峰命名法【DTO、POCO、VO等除外】

public class UserInfo{}

2、【強制】屬性命名規則:大駝峰命名法

public string UserInfo { get; set; }

3、【強制】字段、參數、成員變量、局部變量命名規則:小駝峰命名法

public string userName; public string GetUserName(string userId) { return "userName"; }

4、【強制】方法/函數命名規則:大駝峰命名法

public int GetUserInfo() { }

5、【強制】常量命名規則:名稱全部大寫,單詞間用下划線_分開

public const string USER_NAME = "userinfo";

6、【強制】DTO、POCO、VO命名規則:大駝峰命名法+DTO/VO/POCO等

public class UserInfoDTO { } public class UserInfoVO { } public class UserInfoPOCO { }

7、【強制】命名空間命名規則:大駝峰命名法

namespace UserInfo { }

8、【強制】枚舉命名規則(枚舉名稱采用大駝峰命名規則,枚舉成員所有名稱也使用大駝峰命名法)(沒有特殊情況的話,枚舉成員建議從默認值0開始)

    public enum UserState { Success, Fail }

 9、【強制】代碼中所有成員禁止直接使用中文的命名方式,禁止使用中文拼音命名(一些通用的命名除外:比如城市可以采用beiJing、shangHai這樣的命名規則是可以的),禁止使用中英文混合命名方式,禁止出現a、b、c、aa、ss、x、xx等毫無意義的命名方式

10、【推薦】復數類型(集合類、數組等)命名規則:優先以小寫字符s結尾,如果單詞最后的字母就是s或其他不適合s結尾的單詞,可以使用復數類型的類型名稱結尾(如List、Array等結尾)。前面規則如果都不好命名,可自行命名

 

public List<string> userNames { get; set; } public string[] userNameArray { get; set; } public List<string> userNameList { get; set; }

11、【強制】接口命名規則:以大寫字母I開頭+類名稱

public interface IUserInfo { }

12、【強制】異常類命名規則:大駝峰命名法+Exception

public class UserInfoException { }

13、【強制】項目命名規則:大駝峰命名法,各個字母之間用字母(.)隔開

XiongZe.ProjectManagement.Services

14、【推薦】業務層和數據層名命名規則:業務層類庫名稱命名規則:以Service結尾、數據層類庫命名規則:以Repository結尾

  1. 獲取數據的方法以Get開頭(加上要獲取的對象名)。如獲取單個對象,可以使用Get()、GetUserInfo()。獲取復數對象(集合類),可以使用Gets()、GetUserInfos()。
  2. 新增數據的方法以Insert開頭(加上要獲取的對象名)。如往數據庫中新增一條記錄,方法命名為Insert()、InsertUserInfo()。往數據庫中新增多條記錄,方法命名為Inserts()、InsertUserInfos()。
  3. 刪除數據的方法以Delete/Remove(加上要刪除的對象名)。如刪除數據庫中的一條記錄,方法命名為Delete()、DeleteUserInfo()。刪除數據庫中的多條記錄,方法命名為Deletes()、DeleteUserInfos()。
  4. 修改數據的方法以Update開頭(加上要修改的對象名)。如修改一條數據信息,方法命名為Update()、UpdateUserInfo()。修改多條數據的信息,方法命名為Updates()、UpdateUserInfos()。

 

編碼規范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼。

為了執行規范,每個軟件開發人員必須一致遵守編碼規范:

  • 使用統一編碼規范的主要原因,是使應用程序的結構和編碼風格標准化,以便於閱讀和理解這段代碼;
  • 好的編碼約定可使源代碼嚴謹、可讀性強且意義清楚,與其它語言約定相一致,並且盡可能的直觀。

高質量的代碼往往具有如下特質

  • 易懂性 – 代碼必須易讀且簡單明確的。它們必須能展示出重點所在,且代碼應該做到易於重用,不可包含多余代碼,它們必須帶有相應文檔說明。
  • 正確性 – 代碼必須正確展示出其要告知使用者的重點。代碼必須經過測試,且可以按照文檔描述進行編譯和正確運行。
  • 一致性 – 代碼應該按照一致的編程風格和設計來保證代碼易讀。 同樣的,不同代碼之間也應當保持一致的風格和設計,讓使用者能夠很輕松的結合使用它們。一致性能將我們代碼庫優良的品質形象傳遞給使用者,展示出我們對於細節的追求。
  • 流行性 – 代碼應當展示現行的編程實踐,例如使用 Unicode,錯誤處理,防御式編程以及可移植性。代碼應當使用當下推薦的運行時庫和API函數,以及推薦的項目和生成設置。
  • 可靠性 – 代碼必須符合當地法律,隱私和政策標准和規范。不允許展示入侵性或低質的編程實踐,不允許永久改變機器狀態。所有的安裝和執行過程必須是可以被撤銷的。
  • 安全性 – 代碼應該展示如何使用安全的編程實踐 :例如最低權限原則,使用運行時庫函數的安全版本,以及SDL推薦的項目設置。

合理使用編程實踐,設計和語言特性決定了示例代碼是否可以很好滿足上述特性。

 

以上,只是規范不是規定,所以不是強制要求一定要這樣做,大家自取所需就好了。

如有不合理之處,也接受大家的批評指正。

 
歡迎關注訂閱微信公眾號【熊澤有話說】,更多好玩易學知識等你來取
作者:熊澤-學習中的苦與樂
公眾號:熊澤有話說
出處: https://www.cnblogs.com/xiongze520/p/15508064.html
您可以隨意轉載、摘錄,但請在文章內注明作者和原文鏈接。  

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM