此處只是整理並記錄下.Net開發規範以便加深編碼規範。本身編碼一直都是爲所欲爲,特別是在Java和C#之間來回切換,致使命名也亂七八糟徹底沒有規範可言。一個良好的編程規範能夠提高程序員的開發效率、提升程序的易讀性、提升代碼的可維護性等,本文分兩部分:通用規範、.Net開發規範。程序員
必定要要確保代碼的明確性、易讀性儘可能保證清晰簡潔,如函數的命名及該有的註釋必需要有,讓別人一看函數就知道該函數是幹什麼用的。編程
刪除不須要的庫引用。函數
儘可能少用全局變量,若是要用只讀不修改影響不大,但涉及變量的修改就必定要檢查變量更改對其它地方的影響,在VS中用「查找全部引用」覈查全部用到的代碼。測試
1 static void Main(string[] args) 2 { 3 string logMsg = null; 4 string erroMsg = null; 5 string userName = "zhangsan"; 6 string userPwd = "123456"; 7 8 //若是參數較少,可放置一行調用 9 string result = DoSomeFunctionCall(userName, userPwd, false, out logMsg, out erroMsg); 10 11 //若是參數較多狀況下,可用以下方式進行調用 12 string result2 = DoSomeFunctionCall( 13 userName, 14 userPwd, 15 false, 16 out logMsg, 17 out erroMsg); 18 19 Console.WriteLine($"result={result}, result2={result2}"); 20 } 21 22 /// <summary> 23 /// 示例函數描述信息 24 /// </summary> 25 /// <param name="userName">用戶名</param> 26 /// <param name="userPwd">用戶密碼</param> 27 /// <param name="isRememberPwd">是否記住密碼</param> 28 /// <param name="logMsg">日誌信息</param> 29 /// <param name="errorMsg">錯誤信息</param> 30 private static string DoSomeFunctionCall( 31 string userName, 32 string userPwd, 33 bool isRememberPwd, 34 out string logMsg, 35 out string errorMsg) { 36 37 logMsg = null; 38 errorMsg = null; 39 40 //Do Something 41 42 return "some result"; 43 }
將表明某些值集合的強類型參數,屬性和返回值聲明爲枚舉類型。編碼
空行:適度增長空行來增長代碼的可讀性;spa
空格:可以使用VS回車自動格式化了;3d
註釋最好簡潔明瞭,必定不要過多的冗餘註釋,通常註釋包括:文件頭註釋、函數註釋、多行註釋、單行註釋、內聯註釋、代碼快註釋。日誌
/* 文件頭註釋:描述整個類的主要用途,如此類主要用於測試使用。 */ using System; using System.ServiceProcess; using System.Threading; namespace StartServices { class Program { /// <summary> /// 函數註釋:控制檯函數入口 /// </summary> /// <param name="args"></param> static void Main(string[] args) { string logMsg = null; string erroMsg = null; string userName = "zhangsan"; string userPwd = "123456"; //單行註釋:若是參數較少,可放置一行調用 string result = DoSomeFunctionCall(userName, userPwd, false, out logMsg, out erroMsg); /* * 多行註釋: * 若是參數較多狀況下,可用以下方式進行調用 */ string result2 = DoSomeFunctionCall( userName, //內聯註釋:用戶名 userPwd, //密碼 false, //是否記住密碼 out logMsg, //日誌信息輸出 out erroMsg); //錯誤信息輸出 #region 代碼塊註釋:控制檯數據輸出 Console.WriteLine($"result={result}, result2={result2}"); Console.WriteLine($"result={result}, result2={result2}"); Console.WriteLine($"result={result}, result2={result2}"); Console.WriteLine($"result={result}, result2={result2}"); Console.WriteLine($"result={result}, result2={result2}"); Console.WriteLine($"result={result}, result2={result2}"); #endregion } /// <summary> /// 示例函數描述信息 /// </summary> /// <param name="userName">用戶名</param> /// <param name="userPwd">用戶密碼</param> /// <param name="isRememberPwd">是否記住密碼</param> /// <param name="logMsg">日誌信息</param> /// <param name="errorMsg">錯誤信息</param> private static string DoSomeFunctionCall( string userName, string userPwd, bool isRememberPwd, out string logMsg, out string errorMsg) { logMsg = null; errorMsg = null; //Do Something return "some result"; } } }