编程技巧之把if-else的代码风格改成表格驱动法

表格驱动的意义在于:逻辑和数据分离。

在程序中,添加数据和逻辑的方式是不一样的,成本也是不一样的。简单的说,数据的添加是非常简单,低成本和低风险的;而逻辑的添加是复杂,高成本和高风险的。
  • 如下代码:

    <?php
    function contry_initial($country){
       if ($country==="China" ){
          return "CHN";
       }else if($country==="America"){
          return "USA";
       }else if($country==="Japan"){
         return "JPN";
       }else{
          return "OTHER";
       }
    }
    //优化后为:
    function contry_initial($country){
     $countryList=[
         "China"=> "CHN",
         "America"=> "USA",
         "Japan"=> "JPN",
       ];
       if(in_array($country, array_keys($countryList))) {
           return $countryList[$country];
       }
       return "Other";
    }
    //改成表格驱动后 实现数据与逻辑分离
    function contry_initial($country, array $countryList){
       if(in_array($country, array_keys($countryList))) {
           return $countryList[$country];
       }
       return "Other";
    }

### 优点

Victor博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论