- 当if分支语句是两种情况的时候,有时候可以用Math.min代替?
int diff = timeSeries[i]-timeSeries[i-1];
if(diff > duration){
sumTime += duration;
}else{
sumTime += diff;
}
sumTime += Math.min(timeSeries[i]-timeSeries[i-1],duration);
- 当每一次调用方法时最终的结果都会做一个类似甚至一样的操作,也许可以省掉不必要的if,在return的时候做这个操作?
for(int i = 1;i <= timeSeries.length;i++){
if(i<timeSeries.length){
...
}else{
sumTime += duration;
}
}
return sumTime;
for(int i = 1;i < timeSeries.length;i++){
...
}
return sumTime+duration;
- 如何抵御边界测试?(此法并不适用于所有的边界测试,只是一个情况
int[] result = {-1,-1,-1};
for(int i = 0;i < nums.length;i++){
if(i==0){
result[0] = i;continue;
}
...
if(...){
...
}else(){
...
if(i==1 || result[1]==-1){
result[1] = i;continue;
}
if(...){
...
}else{
if(result[2]==-1){
...
}
if(...){}
}
}
}