完备性:
架构是一个比较宽泛的概念
为了某个需求实现的一个或是一系列业务
旨在高效率地解决问题
重构的本质就是:对当前架构的 完备性 不够充分而remake的
重构软件,意味着你可能会对某个模块 / 某个应用,甚至是某个系统进行再次覆写
这种行为一般产生于:
无论是什么原因,重构肯定是为了解决上一代产品出现的问题
重构无法避免,但是重构的频率一定要在 ==可控制的范围内==
否则三天一小改,一周一大改 (这样带来的时间成本和心智负担十分巨大)
你为某API(假定是一个天气接口,数据有温度/湿度/变化情况/地区)实现了封装
而你认为目前不需要湿度这一参数,则可能会直接丢弃湿度这一数据
当你某天自己实现的功能需要依赖湿度这一参数时,你要么直接从原代码中补上湿度(这无疑是增加心智负担,尤其是代码在一个系统中),要么就是实现一个新的封装来获取这一参数
上面的两种方法,都会让系统变得更加 复杂
那么如果一开始,你将参数保存在封装的内部(向外输出的数据仍没有湿度),而不是直接丢弃,那么实现新的功能时,只需要调用该API拿到湿度参数即可!
就拿B站作为例子,其Web端API接口中存在多个看起来"无用"的参数和重复项(比如bvid和bv_id)
这就是以兼容性换取开发的遍历,用bvid和bv_id可以减少混淆所带来的 隐式问题 和沟通成本