今天逛知乎的时候新了解了一个名词:表格驱动法
我刚看到这个名词的时候我也是蒙的,听起来很高大上。于是我查了一下资料,发现其实很简单,大家平常也会用到的方法。只是不知道专业名词叫什么罢了。

使用表驱动法的关注的两个核心问题:
1 怎样从表中查询条目的问题;
2 应该在表里面存什么

现有如下代码,一个小功能使用了7个分支,复杂度为7

function getWeek(day){
    let today = "周日";
    switch( day % 7 ){
        case 0 : today = "周日";break;
        case 1 : today = "周一";break;
        case 2 : today = "周二";break;
        case 3 : today = "周三";break;
        case 4 : today = "周四";break; 
        case 5 : today = "周五";break;
        default : today = "周六";break;     
    }
    return today;
}

表格驱动法改造,是不是简单许多了

function getWeek(day){
    let week = ["周日","周一","周二","周三","周四","周五","周六"];
    return week[day%7];
}