• 及时重构代码,让开发更流畅


    目前在进行的Boss开工改版,需求版本比较大,涉及到灵活用工系统的全业务包括企业入网及配置、企业结算、充值分账、签约、下发、发票开具等各个环节,同时要兼容现网BOSS开工系统里存量客户和交易不受影响。虽然拆分成3次小迭代,不过每次迭代的开发任务也同样不容小觑。

    因此,有必要站在更高更全面的角度来俯视系统,做好设计工作。如下是在公司内部wiki上记录的一些开发设计文档。

    如下,分享其中的一个重构案例。

    emax_base库发票相关表表名调整

    § 背景

    1.  从2020年年初至今,随着bosskg系统的需求迭代和整合升级,测试库emax_base库的数据表也逐渐增多。发票业务当前涉及到6张数据表,这些表的表名都是以默认的前缀emax_开头,分散在数据库里不方便查找。
    2.  新的bosskg改版需求,发票管理又要加表,如果还是以emax_开头,技术债务将越欠越多,留给日后调整的成本更大。
    3.  除了前缀以外,这些发票涉及到的表里,有几张表的表名并不能清晰描述其领域功能。比如emax_bill_info_config,其实是我司开票方title信息配置;再比如emax_bill_info,其实是个人用户的开票记录。表名定义不清晰的另一个后果是:我在近期代码走查时竟然发现,竟然出现了BillInfo相关的操作方法,一部分在BillInfoService.java里,另一部分却跑到BillService.java里了。这也许不能完全归咎于当事人的粗心,更重要的因素,也许正是这些易混淆的表名导致的。

    当断不断必受其乱 +  Do first thing first ==》是时候重构了!

    § 重构调整策略

      1.  重构范围控制---通常来说,许多同学对重构是敬而远之的,一是担心对业务了解不透彻出现遗漏,二是惧怕出问题而承担责任,多一事不如少一事,再者是觉得能凑合就凑合,甚至会认为在重构代码上花时间并不值得,不如去学学其他新鲜的技术,学学Python,学学算法,学学架构设计。——这次改动涉及到6张表的业务操作,显然非小事,涉及到表/字段、service/pojo、rpcapi接口、数据迁移。所以,有效控制改动范围,是个关键。基于这些考虑,这次调整呢,先从大方向上着手,只改表名。
      2.  为了避免干扰大家开发,测试库emax_base已经把旧有表删掉。如果想看,可在test_emax_base库查。

    § 表名调整

    -- 开票相关表重命名了,执行下面语句查看新旧表名对应关系(生产需要迁移数据)
    SELECT table_name 表名,TABLE_COMMENT '表注解' FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'test_emax_base' AND (table_name LIKE '%bill%' OR table_name LIKE 'inv%')

     

    PS:大家总是对发票抬头存在知识盲区,如下普及一下,抬头即是英文单词title的音译。

  • 相关阅读:
    选中dom,用length来判断点击的元素是否是当前元素
    threejs学习笔记05---相机透视-正透视
    threejs学习笔记04---相机动
    threejs学习笔记04---物体动
    threejs学习笔记03---网格
    maven web项目部署
    数组,集合相关小结
    安装及配置mysql-5.7.21-winx64
    对oracle数据库使用的小结
    机器学习实战书-第二章K-近邻算法笔记
  • 原文地址:https://www.cnblogs.com/buguge/p/14806153.html
Copyright © 2020-2023  润新知