zoukankan      html  css  js  c++  java
  • 及时重构代码,让开发更流畅

    目前在进行的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的音译。

  • 相关阅读:
    在TreeView控件节点中显示图片
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1145 Hashing
    PAT 甲级 1145 Hashing
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1149 Dangerous Goods Packaging
  • 原文地址:https://www.cnblogs.com/buguge/p/14806153.html
Copyright © 2011-2022 走看看