一次成功的重构实践1 - 概述

一次成功的重构实践1 -  概述

黄国强 2019/1/20

很长时间没写blog了,原因很简单,工作基本上遇不到问题,因而思考少了,自然也没有写东西的动力。
这次年会之所以拿到了公司特殊贡献奖,是因为去年将原先的软件架构重写,使公司软件发生了有目共睹的巨大变化。在这里总结一下重构过程。

重构前与重构后的解决方案比较:

图中是原先的解决方案和现在解决方案的比较,从中可以看到,整个解决方案只有一个工程,所有代码都写在这个工程里。整个项目代码是4万行。
而现在的解决方案,由25个工程组成,代码是分散在这25个工程里。代码总行数是十八万行。
刚到公司的时候,拿到软件的源码,认为这是个小case,因为我在上一家公司,开发并维护的解决方案是40万行。所以几万行的项目,还不是随便搞搞就行了。接手后才发现完全不是怎么回事。
因为公司出去的每一台机器都是从某个版本改过来的,换句话,公司软件版本有几十个,也就是说,我要修改和维护的不是一个四万,而是n个四万。这个n可能是3位数。想到这是不是有崩溃的感觉。
我不是那种遇到困难轻易放弃的性格的人,而且这个问题从软件角度理论上是可以解决的。
我定下了两个目标,一是统一版本,二是模块化。

重构背后运用到的技术:

统一版本遇到第一个问题就是设备硬件的不同。硬件不同主要体现在两个方面,首先是控制方案的不同,其次是组成机构的不同。
控制方案不同可以用建一个控制虚拟类来解决。而具体的控制方案是这个虚拟类的继承类。
组成机构的不同可以通过配置文件来解决。
模块化就是将不同机构放在不同的dll中,每个人负责几个机构,改变过去一个人负责一台设备的局面。专业化程度得到提高。
说起来很简单,做起来还是很辛苦的。类似艺术家一样,做出一个好的作品过程本身就能体会到很多乐趣。而之前所有的付出都是值得的。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

acloud_csu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值