1. 个人经验总结 - 代码整理重构

  • 大重构
    • 功能、模块的重新设计、分配、划分。
      • 先想要职责的划分、交互的设计(如何传递事件等)
      • 然后先把必须要调整的地方重新放好(比如前端应用先把HTML元素重新整理分配到各个组件)
      • 最后再把附属的功能性代码也放到对应的地方,直至没有错误和功能性bug(比如前端应用先把ts等逻辑代码跟着对应的HTML重新整理分配到各个组件)
  • 小整理
    • 格式化。
      • 必须,且团队使用同一的格式化标准,可以在IDE中导入导出进行共享。
      • VS Code等IDE中可以设置保存时自动格式化,可参考VS Code小技巧
    • 对成员变量、函数、引入的包进行排序
      • 统一功能相关的放在一起,中间最好放一个空行
      • 共有的在前,私有的在后
      • 整理引用包的顺序、函数的顺序
    • 命名
      • 可读性强
        • 符合业务逻辑,一看就知道用途和怎么用
        • 含义别弄反了
        • 需求有变化时,要相应的改名字,不要偷懒实现功能就行,这样的话名字就容易让人误解
      • 避免歧义
      • 不要太长
      • 规范,比如常量名都大写,用下划线分隔
    • 使用卫语句,避免过深的if判断
      • 也可以把多个卫语句提取成一个检查函数
    • 提取魔法数为常量、枚举等
      • 可以放到单独的常量类中做汇总
    • 提取函数
      • 提取公共函数
        • 最直接的办法就是观察哪些代码段是类似的。
        • 可以把想要提取的几个地方的代码放到beyond compare中对比一下,更容易找出异同之处进行下一部整理。
        • 这是一个持续的过程,有可能是4段代码变2段,2段代码再变1段。
        • 如果if else代码段中有类似的代码段,可以提取到外面。
        • 提取入参
          • 如果不同之处只是一些字符串,可以当成参数传进来。
          • 如果不同之处是一些函数调用不同或者逻辑不同,可以把type当成参数传进来,进行if else判断。也可以考虑封装成不同子类,然后用字符串判断进行new不同的逻辑子类、或者到字符串到子类的字典中查询,或者使用策略模式?
      • 与界面无关的特定业务逻辑
      • 数据检查函数
    • 移除没用到的变量、引用、导入包等
    • #region代码块来分类整理同一类文件中的众多功能函数
      • 如events、logic、members、init、common、inputs & outputs等。

posted on 2020-01-15 16:04  碎羽love星谊  阅读(249)  评论(0编辑  收藏  举报

导航