【代码积累】写一手漂亮的代码(1)

      自己写代码的过程中,难免会发现一些问题,有的是共性的、有的是特例的,定期把自己总结的代码规律做个总结,写成博客,请见如下:

     (1)属性访问器里的get判断

public LanguageText Name
 {
   get  
 {
     if (_name == null)
         _name = new LanguageText();
       return _name;
   }
   set { _name = value; }
 }
       之前写过一篇”get set 属性访问器”的文章,一些花哨的写法做了总结,后来在项目中我发现了一个问题,只要是这个属性的返回值类型不是基本类型(string、int、bool等),就需要在get访问器中进行判断,if(_字段 = null) return New 类型(); 这一点可以拿来注意。

     (2)catch中捕捉到错误,将其写入到日志当中

catch (Exception ex)
{
     //$"支付错误:{ex.Message}".Output();
     Log.Write(nameof(YCHHelper), $"支付错误:{ex.Message}", LogType.System, LogLevel.Crash);
     return "";
}
      之前对catch的写法,我在java中接触过打印到堆栈,是在IDE运行过程去监控,对于开发人员还好,一旦上线还是发现写到日志当中比较好,这里想要先说的就是这种思想,我会专门写一篇关于日志处理的文章。


    (3)数据库连接字段的写法

//创建表SQL语句
private string tableSql = string.Empty;  
  /// 添加数据列
  /// 
  /// 列名
  /// 类型
  public void AddColumn(string colName, string colType)
  {
     string strFormat = string.Empty == tableSql ? "{0} {1}" : ",{0} {1}";
     tableSql += string.Format(strFormat, colName, colType);   
     //这样的写法,减少了因为是否需要逗号的逻辑判断,精简了代码量。
} /// /// 添加数据列 /// /// 列名 /// 类型 /// 长度 public void AddColumn(string colName, string colType, int length) { string strFormat = string.Empty == tableSql ? "{0} {1}({2})" : ",{0} {1}({2})"; tableSql += string.Format(strFormat, colName, colType, length); } public void AddColumn(string colName, string colType, int length, bool isAllowNull) { string strFormat = string.Empty == tableSql ? "{0} {1}({2}) {3}" : ",{0} {1}({2}) {3}"; tableSql += string.Format(strFormat, colName, colType, length, isAllowNull ? string.Empty : "not null"); } /// /// 生成创建表SQL语句 /// /// SQL语句 public string GetCreateTableSQL() { tableSql = string.Format("Create table {0} ({1})", tName, tableSql); return tableSql; }
 
        如上所述,是一个动态地生成sql语句的过程,这里有一个点写的很妙: 
  

      privatestring tableSql = string.Empty;

      stringstrFormat = string.Empty == tableSql ? "{0} {1}" : ",{0}{1}";

      先让字符串"tableSql"为空,拼串的过程中,如果"tableSql"为空,则拼接后面的参数,如果不为空,在拼接参数之前自动加上“,”,省去了每次拼接新串时加“,”判断的逻辑代码,很轻便。而且上面3个方法重载,整体看起来,代码量也不大。


【Summary】

       不断从GitHub或者组里学习别人写的代码,每次一点点吸收成自己的东西,时间久了,就NB了。





你可能感兴趣的:(【代码积累】写一手漂亮的代码(1))