代码重构记
简介:
手头的一个工作是将第三方的图形导入我们自己的系统中,原来已经实现了一种导入方式,个人感觉导入的效果不是很好,所以对原来的代码进行了一次重构,操作方式比原来多了一步,但导入的结果比原来要好处很多,更为重要的是代码更加易于理解,也便于以后的维护工作。
过程:
1.充分理解原有代码的功能与实现原理
理解原来代码的实现方式是很重要的。我们原来的实现方式由于时间关系,更多的考虑了操作上的简便性,而没有把导入图形的精确性作为首要的考虑因素。
2.对外接口最后改进,开始要保持原有接口的完整性
代码修改的初期,只是在模块内部进行一些简单的修改,保持对外接口不变,这样便于随时进行编译和测试。内部改造完成的差不多之后,修改接口的参数和返回值等就是瓜熟蒂落的事情了。
3.逐步进行,随时进行编译与测试
通过编译和测试,保证我们的重构过程没有引入新的bug,同时,保证原有功能没有被破坏。
结果:
     

                  重构前                                     重构后

代码量             3100行左右                               1300行左右

可维护性/可理解性       差                                     强

功能              操作简单,但导入图形会与原来图形存在一些差别   操作比重构前多了一步,但导入                                                              图形与原图无区别

实现原理              复杂                                      简单
                             
                                      
结论:
个人感觉,通过对代码进行重构,程序的性能、可维护性、可理解性等都得到了很大的提高,在以后的工作中应该随时对一些代码进行重构。问题是,我们是不是总是有足够的时间,足够的兴趣对那些具有“坏味道”的代码进行重构呢?
::...
免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com


订阅 substack 体验古早写作:


点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

关注公众号, 持续获得相关各种嗯哼:
zoomquiet


自怼圈/年度番新

DU22.4
关于 ~ DebugUself with DAMA ;-)
粤ICP备18025058号-1
公安备案号: 44049002000656 ...::