最近組内做代碼評審,看到了如下一段代碼,這段代碼從功能上、甚至效率上來講都沒有問題,但從可讀性和可維護性來講,可優化的地方顯而易見:函數‘foobar’接收‘op_type’為輸入參數,該函數的調用完全可以放在整個switch之後,做一處調用即可,這樣後期‘foobar’有任何變化,這段代碼隻需相應修改一處代碼即可。
這段代碼出自一個有幾年工作經驗的程式員之手,實屬不該 —— 即使一個程式設計初學者,也應該知道盡量“避免備援代碼”這一基本原則。
switch(op_type){
case ADD:
foobar(ADD);
break;
}
case MODIFY:
{
foobar(MODIFY);
break;
}
case DELETE:
{
foobar(DELETE);
break;
}
default:
{
log("invalid op_type");
return -1;
}
}