记一次对代码优化的经历

1. 复杂度不会消失,只会转移

  • 新建工具类文件,把一些判断的逻辑抽离出去
2. 抽象,就是像做数学题一样总结一种方法
  • 把具有相同作用的逻辑提取出他们的公式
  • 先拆分,后重构
  • 在传参为空时,给出默认值和校验提示,防止一些调用引发的BUG
3. 默认值,数据类型校验和try/catch/finally语句,是保护程序安全运行的三剑客
4. 文件放入文件夹,分类排好,把代码按照功能分离,放入相应的文件夹中
  • 就像收拾衣服一样,把不同季节的打底衣服,外套,内衣裤分开放
5.减少因为版本更迭产生的重复而无用的逻辑,代码,变量和死循环
  • 根据热力学第二定律,孤立系统的熵永不自动减少,熵在可逆过程中不变,在不可逆过程中增加。
  • 整个项目只调用一次的函数抽象应该和调用者函数合并
6.编写文档和注释
7.在重构时就会体会到面向对象对比面向流程的优点
  • 一但流程变动,整个链条都会断掉
知乎答主justjavac的一句话解决了我脑中一直以来的困惑:“优化的本质就是给V8写代码。如果是业务代码,要优雅,写给人看;如果是库代码,要高效,写给V8去运行。”
原话来源: https://zhuanlan.zhihu.com/p/...

    推荐阅读