开发人员容易犯的5个错误

2022-04-06 14:11:58 浏览数 (1)

刚过完年,需求方需求不是很紧。复查了一下我们开发人员的代码(含java和.net)会发现很多错误,有些还会隐藏的很深不容易被黑盒测试人员所发现。特意整理如下,快看看你写过的代码有没有类似的错误。

错误的使用&&进行空参数判断

代码语言:javascript复制
//错误
if (dt == null && dt.Rows.Count <= 0)

如果dt为空,逻辑表达式会继续向后检查。并抛出异常。应改为

代码语言:javascript复制
//正确
if (dt == null || dt.Rows.Count <=0)

另外一种常见的错误

代码语言:javascript复制
//错误
if (dt != null || dt.Rows.Count > 0)

程序内值传递不显示指定

代码语言:javascript复制
//错误
public void setName(string name)
{
  name = name;
}
//正确
public void setName(string name)
{
    this.name = name;
}

在使用string.Format()方法时预期的参数个数和实际的不符。

代码语言:javascript复制
//错误
var s1 = string.Format("{0} {1} {2}", 1, 2);
var s2 = string.Format("{0}", 10, 11);
//正确
var s1 = string.Format("{0} {1} {2}", 1, 2, 3);

静态变量错误的初始化顺序

代码语言:javascript复制
//错误
public static SmsConnection smsConnection = SmsConnection.Connect(smsOperator);
public static SmsOperator smsOperator;
//正确
public static SmsOperator smsOperator;
public static SmsConnection smsConnection = SmsConnection.Connect(smsOperator);

错误的位置使用了using,以下使用方法主调方法可能可以使用返回的table但可能导致运行时错误。请尽量避免

代码语言:javascript复制
//错误
public static DataTable GetDT()
{
  using(DataTable table=new DataTable())
  {    //操作table对象
    return table;
  }
}
//正确
public static DataTable GetDT()
{  DataTable table=new DataTable();  //操作table对象
  return table;
}

0 人点赞