顶层设计——代码移植所带来的教训

本文讲述了在将产品A的F功能移植到产品B时,因缺乏顶层设计导致的代码修改困难。作者通过亲身经历强调了顶层设计的重要性,包括明确变量单位转换、涉及范围、修改标记和整体方案制定,以提高效率并减少错误。
摘要由CSDN通过智能技术生成

如同人生一样,没有顶层设计的代码移植过程也是会增加许多原本没必要的挫折。

最近一周在忙一件事情:将产品A上的F功能移植到产品B上。其中一个很麻烦的问题就是代码中变量和常量单位的修改,因为由于B不支持浮点型加速运算,它当中很多原本是浮点型的数据都扩大了100倍转为整型进行运算,而A中的F功能代码还都是采用浮点型运算,因此需要将F功能的代码中变量和常量的单位根据产品B的需求进行修改,以融合到B中。

刚开始接到这个任务时,觉得这还不简单,就是把这些变量的单位修改一下嘛。于是没有太多想就开始一点点儿修改了,这真的是一场噩梦的开始。首先忘了标记在哪儿进行了修改,结果都不知道哪些已经修改过了,哪儿还没有修改。其次没有在修改之前系统地分析单位的修改所涉及的全部变量和常量,导致修改完一个再去看哪一个还需要修改,严重降低修改的效率。最后,没有系统地设计单位修改的方案和流程,为了知道自己修改到了哪种程度、哪些变量还需要修改,只能在修改完一部分之后对整个工程进行编译运行,而每次编译都需要挺长时间,自然浪费了很多时间。

更甚的是,尤其是这种缺乏顶层设计的修改,很容易导致某一个变量忘记修改,程序运行过程中自然会出现bug,而这种bug是很难定位的,因为你不确定到底是哪个部分的问题。恩,我就是在这个问题上栽了两天时间!按照自己随意的模式修改完之后,运行程序,感觉好像是运行良好,内心很激动。但是稍微改变下运行参数,里面的bug就开始逐渐冒泡了。我就开始根据bug的现象,结合程序运行的原理,逐渐猜测定位bug可能出现的位置,然后在这些位置上打上断点,逐步调试,最后终于发现了bug所在,原来是一个变量在其中一个公式中进行计算时的单位忘记了修改。解决上述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值