优化这段代码 if (draw == k+1) { if( k == 0 ) { if (gRunPara.COMMS_SerialInfo[serialid][k].val<8) ++gRunPara.COMMS_SerialInfo[serialid][k].val; change = 1; } else if( k == 1 ) { if (gRunPara.COMMS_SerialInfo[serialid][k].val<9) ++gRunPara.COMMS_SerialInfo[serialid][k].val; change = 1; } else if( k == 2 || k == 7 || k == 18 ) { if (gRunPara.COMMS_SerialInfo[serialid][k].val<2) ++gRunPara.COMMS_SerialInfo[serialid][k].val; change = 1; } else if( k == 6 || k == 8 ) { if (gRunPara.COMMS_SerialInfo[serialid][k].val<2) ++gRunPara.COMMS_SerialInfo[serialid][k].val; change = 1; } else if( k == 3 || k == 13 || k == 14 || k == 16 || k == 20 || k == 21 ) { if (gRunPara.COMMS_SerialInfo[serialid][k].val<1) ++gRunPara.COMMS_SerialInfo[serialid][k].val; change = 1; } else if( k == 15 || k == 17) { if (gRunPara.COMMS_SerialInfo[serialid][k].val<2) ++gRunPara.COMMS_SerialInfo[serialid][k].val; change = 1; } else change = Lcd_Modify_Param(LCD_KEY_ADD,ALTER_SERI,UNIT_PUBLIC_MX6,serialid,k,j); }
时间: 2024-01-30 08:01:35 浏览: 25
可以将一些重复的代码提取出来,避免代码冗余,例如可以将以下代码块提取出来:
```
if (gRunPara.COMMS_SerialInfo[serialid][k].val < x) {
++gRunPara.COMMS_SerialInfo[serialid][k].val;
change = 1;
}
```
然后在原代码中使用该代码块进行替换,可以得到下面的优化代码:
```
if (draw == k+1) {
if (k == 0) {
change = Lcd_Modify_Param(LCD_KEY_ADD, ALTER_SERI, UNIT_PUBLIC_MX6, serialid, k, j);
} else if (k == 1 || k == 6 || k == 8) {
if (gRunPara.COMMS_SerialInfo[serialid][k].val < 2) {
++gRunPara.COMMS_SerialInfo[serialid][k].val;
change = 1;
}
} else if (k == 2 || k == 7 || k == 18) {
if (gRunPara.COMMS_SerialInfo[serialid][k].val < 2) {
++gRunPara.COMMS_SerialInfo[serialid][k].val;
change = 1;
}
} else if (k == 3 || k == 13 || k == 14 || k == 16 || k == 20 || k == 21) {
if (gRunPara.COMMS_SerialInfo[serialid][k].val < 1) {
++gRunPara.COMMS_SerialInfo[serialid][k].val;
change = 1;
}
} else if (k == 15 || k == 17) {
if (gRunPara.COMMS_SerialInfo[serialid][k].val < 2) {
++gRunPara.COMMS_SerialInfo[serialid][k].val;
change = 1;
}
} else {
if (gRunPara.COMMS_SerialInfo[serialid][k].val < 8 && k == 0 || gRunPara.COMMS_SerialInfo[serialid][k].val < 9 && k == 1) {
++gRunPara.COMMS_SerialInfo[serialid][k].val;
change = 1;
} else {
change = Lcd_Modify_Param(LCD_KEY_ADD, ALTER_SERI, UNIT_PUBLIC_MX6, serialid, k, j);
}
}
}
```