写代码的技巧

来源:互联网 发布:专业写作软件 编辑:程序博客网 时间:2024/05/01 15:48

平时在写循环语句时,总是习惯性地把变量的自增都放在了for(表达式1;表达式2;表达式3)的"表达式3"语句执行,今天在调试一段源代码的时候发现,这个习惯不经意间会导致代码的健壮性受到影响,如下:

(1)平时习惯性的写法:

 

 

for(int i=0,j=0;i<currentNames.length;i++,j++) {

Name name = currentNames[i];

if(!name.isMarkedForDeleting()) {

newNames[j] = name;

}

}

这样书写时,因为变量j在每一次的循环中都会自增,而不是根据if条件是否得以执行而改变值!因此存在一个隐患,有可能导致j变量值超出了newNames的范围,从而导致IndexOutOfBoundsException异常;而如果谨慎一点写成如下的格式,就避免了不必要的错误。

(2)正确写法:

 

for(int i=0,j=0;i<currentNames.length;i++) {

Name name = currentNames[i];

if(!name.isMarkedForDeleting()) {

newNames[j++] = name;

}

}

j的值只会根据条件执行而得到改变,代码健壮性会更好一些。

备注,留作复习。

 

 

原创粉丝点击