2020年12月5日星期六

.Net编码规范整理(一)

前言

  此处只是整理并记录下.Net开发规范以便加深编码规范。自己编码一直都是随心所欲,特别是在Java和C#之间来回切换,导致命名也乱七八糟完全没有规范可言。一个良好的编程规范可以提升程序员的开发效率、提高程序的易读性、提高代码的可维护性等,本文分两部分:通用规范、.Net开发规范。

 

通用编程规范    

  1. 明确性和一致性

一定要要确保代码的明确性、易读性尽量保证清晰简洁,如函数的命名及该有的注释必须要有,让别人一看函数就知道该函数是干什么用的。

    

 

  2. 库的使用

删除不需要的库引用。

 

  3. 尽量少用全局

    尽量少用全局变量,如果要用只读不修改影响不大,但涉及变量的修改就一定要检查变量更改对其它地方的影响,在VS中用"查找所有引用"核查所有用到的代码。

    

  

  4. 变量申明和初始化

    1. 在变量申明时进行初始化;
    2. 一定在最小作用域内申明它,一般申明于作用域顶端;
    3. 变量初始化置于同一行,推荐每行只包含一句申明;

    

 

  5. 函数申明和调用

    1. 函数名称,返回值,参数原则置于同一行;
    2. 过多参数一个参数一行(推荐);
    3. 多个输入参数时建议对输入参数进行排序;
    4. 当存在多个重构函数时,扩展参数因往后追加;
    5. 当存在输出参数时候,输出参数放末尾或开头;    
 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 Something41 42    return "some result";43   }

 

  6. 枚举

    将代表某些值集合的强类型参数,属性和返回值声明为枚举类型。

 

  7. 空格

    空行:适度增加空行来增加代码的可读性;

    空格:可使用VS回车自动格式化了;

 

  8. 注释

    注释最好简洁明了,一定不要过多的冗余注释,一般注释包括:文件头注释、函数注释、多行注释、单行注释、内联注释、代码快注释。

/* 文件头注释:描述整个类的主要用途,如此类主要用于测试使用。 */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}");   

没有评论:

发表评论