代码编写
义齿线程技术使用受限于.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)