重构,读书笔记

作者: jenschen | 来源:发表于2019-11-11 15:58 被阅读0次

    最近读完的重构这本书。可能是今年看了不少设计模式,代码简洁之道之类的书,收获并没有特别大。

    1 对于get和set的理解

    申明一个private变量,又同时写了get(getter)和set(setter)这种用法。之前对于它的理解是,可以在get和set里面做点文章。比如

    class Person{
        private $sex;
        public function getSex(){
            return $sex == 1 ? "男" : "女";
        }
    }
    

    其实还有一个好处,就是封装了。代码中所有的调用都是通过这个函数实现的,当我要重构的时候,就只需要对这个函数进行处理,或者说重命名。

    class Person{
        private $sex;
        public function getSex(){
            $this->newGetSex();
        }
        
        public function newGetSex(){
            return $this->sex == 1 ? "男" : "女";
        }
    }
    
    

    2 封装基本类型

    这里面的基本类型其实并不是指int,boolean等等之类的类型,而是指一些常用的数据,比如说电话号码,姓名。比如说下面是对电话号码的封装。

    class Tel{
        private $tel;
        function __construct($tel){
            this->tel = $tel;
        }
        
        function checkTel(){
            $res = preg_match("/^1[34578][0-9]{9}$/",$this->tel);
            if($res === false){
                throw new Exception("tel error");
            }
            return $res > 0 ? true : false;
        }
        
        function encryptTel(){
            return substr_replace($this—>tel,'****',3,4);
        }
        
        function toUid(){
            //...
            return "";
        }
    }
    

    或者感觉可以将这些代码封装static形式的工具,形成自己的代码库,以后应该就能复制,粘贴了。

    相关文章

      网友评论

        本文标题:重构,读书笔记

        本文链接:https://www.haomeiwen.com/subject/mxvtictx.html