switch语句的优化
flyfish
通常的形式
void Test(int t) { switch (t) { case 1: //code segment 1 break; case 2: //code segment 2 break; default: break; } }一 当代码段比较多时候 就会提取函数
void Test(int t) { switch (t) { case 1: function1(); break; case 2: function2(); break; default: break; } } void function1(){}; void function2(){};二 当类中有类型时可以使用设计模式优化 例如
class employee { int type; //0 engineer //1 salesman //2 manager };优化为
class employee { }; class engineer : public employee { }; class salesman : public employee { }; class manager : public employee { }可以使用 状态模式 或者 策略模式.
三 根据函数参数设置不同变量的值 代码的优化
void SetValue(int type, int value) { switch (type) { case 0: engineer = value; case 0: salesman = value; default: break; } }如果用多态 有些多余 优化如下
void SetEngineer(int value) { engineer = value; } void SetSalesman(int value) { salesman = value; }