代码编写

  • 义齿线程技术使用受限于.net2.0 优先用ThreadPool其次用Thread。如果要用多线程,先与架构师沟通。

  • sql语法需要最低兼容sql2000,例如:concat、xml for path..不能使用

  • 使用的第三方类库只能从已经使用过的库里选择,如果确实需要则向组长报备

  • 时间的读取和使用,一般情况下时间读取服务器时间而非本机时间(需要访问数据库获取服务器时间)

    比如某些界面第一次打开时,界面如果有时间控件,需要把时间重置成服务器时间

    服务器时间获取示例:

      public DateTime GetCurrentDate()
      {
          DateTime now = DateTime.Now;
          var value = _db.ExecuteScalar("select GetDate()");
          if (value != null)
          {
              now = Convert.ToDateTime(value);
          }
          return now;
      }
    
  • 所有代码语法要求C#7.0能支持

  • 在所有控件的事件里都要加一层try catch ,具体函数里看情况加try catch。

    catch里必须加日志,看情况进行弹窗提示

    示例:

     private void frmWorkloadConversion_Load(object sender, EventArgs e)
            {
                try
                {
                     ////
                }
                catch (Exception ex)
                {
                    SharedHeng9Factory.ErrorLogWriter.WriterErrorMessage("frmWorkloadConversion", "frmWorkloadConversion_Load", ex);
                    MessageBox.Show(ex.Message);
                }
            }
    
  • 界面使用的DateTimePicker控件,要求把Format改成Custom ,然后把CustomFormat改成yyyy-MM-dd或者

    yyyy-MM-dd HH:mm:ss(根据业务需求来自定义格式)

    这个改动可以彻底防止时间控件受到计算机的日期格式影响,避免异常

  • 非必要禁止使用ArrayList定义数组,优先使用List的形式定义。这样可以减少编码失误,且防止拆箱装箱。

  • VB里禁止使用IIF语法,改用IF语法

    IIf(strGetP = "", strEmploy, strGetP) => If(strGetP = "", strEmploy, strGetP)
    

results matching ""

    No results matching ""