社区
研发管理
帖子详情
如何保证重构的正确性
geniushuai
2009-09-27 11:25:05
加精
现在都在谈重构,目的是为了使代码更清晰些,但每次做这事,我都战战兢兢的。归其原因是我无法保证重构后的代码是不是和我之前的代码是否一致,是否按照着原来的业务逻辑。这样重构后,我只能一次又一次的测试,这样浪费我大量的时间。
按着敏捷开发的方法,重构前先写测试驱动,但是就我的理解,测试驱动也不是万能的。希望大家有个什么方法可以解决。
...全文
1109
45
打赏
收藏
如何保证重构的正确性
现在都在谈重构,目的是为了使代码更清晰些,但每次做这事,我都战战兢兢的。归其原因是我无法保证重构后的代码是不是和我之前的代码是否一致,是否按照着原来的业务逻辑。这样重构后,我只能一次又一次的测试,这样浪费我大量的时间。 按着敏捷开发的方法,重构前先写测试驱动,但是就我的理解,测试驱动也不是万能的。希望大家有个什么方法可以解决。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
45 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
程序园苑
2010-08-12
打赏
举报
回复
路过,学习学习
xiaoruishuma
2010-08-12
打赏
举报
回复
不错啊,满好的
sky_soar
2010-08-12
打赏
举报
回复
看不懂……
zkyEric
2010-08-11
打赏
举报
回复
重构是好东西
NewSilen
2010-08-11
打赏
举报
回复
虽然没经历过,不过还是有点关心这个问题的
bydxyj
2010-08-11
打赏
举报
回复
我现在做的很简单的重构是使用VS自带的重构功能的,比如一个将一个很长的函数根据功能分成几个小函数。
freefei
2010-08-10
打赏
举报
回复
软件工程!!!
哥子谭
2010-08-10
打赏
举报
回复
LZ没有真正理解重构的作用啊
wangbingshan997
2010-08-10
打赏
举报
回复
再次路过
GXY2005
2010-08-10
打赏
举报
回复
sp1234
(我只在企业项目才上真正赚过大钱)
----------------------------
牛人啊!
wangbingshan997
2010-08-10
打赏
举报
回复
路过——
lj960201831
2010-08-10
打赏
举报
回复
啥都没看懂
cnyining
2010-08-10
打赏
举报
回复
重构,在程序开发的每个阶段都在进行,而且是必须的。从小的方面,是减少一段程序的坏味道;从大的方面,是对系统架构的某些方面的调整。
测试不是重构的专利。所有的设计、开发、发布等都需要测试。但测试驱动开发,让重构过程中的测试工作量大大减少。
mela200800
2010-08-10
打赏
举报
回复
只有测试才能保证你的重构 是否正确,不是测试不是万能 是你 测试的不够 或者方法不对。
重构 一定要及时进行 千万不能等到最后 。欠钱多了 就还不起了。
c60885262
2010-08-09
打赏
举报
回复
数据库也有重构的、
geniushuai
2010-08-09
打赏
举报
回复
就是不知从何入手,所以才问大家,有没什么实际的例子来做解决的.
AnYidan
2010-08-09
打赏
举报
回复
我只是顺便看看~!
dandanchenguang
2010-08-09
打赏
举报
回复
新手啊 `````````````````
火龙果被占用了
2010-08-09
打赏
举报
回复
单元测试代码,每重构一些就执行相关的单元测试一下。
jbz001
2010-08-09
打赏
举报
回复
我只是顺便看看~!
加载更多回复(18)
变电站智能电子设备动态
重构
闭锁逻辑生成多代理系统
为
保证
变电站二次系统功能的完整和便于设备检修,智能电子设备(IED)动态
重构
技术逐渐得到关注。IED动态
重构
需要装载并解析IED配置描述(CID)文件,因管控主机保存的CID文件关联的是变电站设计时的系统结构,不能表征电力系统动态变化,为确保闭锁逻辑的
正确性
,需重新生成闭锁逻辑并更新相应的CID文件。利用多代理技术,管理动态
重构
管控主机、数据采集与监控(SCADA)主机、电力系统拓扑校验、变电站五防闭锁规则库生成软件等功能组件,构建多代理系统,完成电力系统拓扑校验和闭锁逻辑生成等任务的交互策略与协调流程,获得闭锁规则库更新CID文件,
保证
动态
重构
IED闭锁功能的
正确性
,能适应变电站的改造和升级,并提供更加灵活的闭锁规则管理。
基于自适应加速前向后向匹配追踪的压缩感知
重构
算法
针对传统前向后向匹配追踪(FBP)算法运行时间较长的问题,提出了一种自适应加速前向后向匹配追踪(AAFBP)算法。AAFBP算法的
重构
过程可分为2个阶段,在前向阶段利用自适应阈值来选取适量原子加入支撑集,在后向回溯过程中以原子的投影系数大小作为删除依据,利用自适应删除阈值来进行原子的删除,同时克服了自适应过程中存在的回溯过度现象。所提方法能够
保证
选入原子数量更具随机性,使每次迭代保留更多的正确原子。一维稀疏信号和二维图像的仿真结果表明,AAFBP算法在
重构
精度和运算时间上都更具有优势。
反射式离轴数字全息显微光强参数研究
为了探究光强参数对于反射式离轴数字全息显微再现像质量的影响,概述了数字全息显微技术的研究现状以及影响全息图再现像质量的因素,基于菲涅尔衍射积分,论述了离轴数字全息图的记录与再现像过程,分析了一定记录距离下物光和参考光光强比对于全息图再现像质量的影响。通过控制物光路以及参考光路中滤光片的滤光能力来实现不同的物参光强比,从而记录下标准分辨率板的反射式显微全息图并进行
重构
。其实验结果表明:在记录距离已知的情况下,物光和参考光的光强比对反射式显微全息图再现像质量有着显著影响。因此在
保证
其他实验条件不变的情况下,确定适当的物参光强比是提高全息图质量的关键。通过理论分析,确定了实验的记录距离,并对该记录距离下的频谱图进行分析,验证记录距离的
正确性
。在相同记录距离下进行不同物参光强比下的对比实验,确定了可以实现较好
重构
效果的物参光强比范围。实验结果亦为进一步研究基于反射式数字全息的三维
重构
提供了理论依据与技术条件。
Java单元测试(Junit+Mock+代码覆盖率)
单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试并不一定
保证
程序功能是正确的,更不
保证
整体业务是准备的。单元测试不仅仅用来
保证
当前代码的
正确性
,更重要的是用来
保证
代码修复、改进或
重构
之后的
正确性
。JUnit是Java单元测试框架,已经在Eclipse中默认安装。目前主流的有JUnit3和JUnit4。JUnit3中,测试用例需要继承TestCase类。JUnit4中,测试用例无需继承TestCase类,只需要使用@Test等注解。先看一个Junit3的样例如果采用默认的TestSuite,则测试方法必须是publicvoidtestXXX()[throwsExceptio
分层的基于身份的动态门限签名方案 (2006年)
提出了一个分层的基于身份的动态门限签名方案。方案具有分层的PKG结构,低层PKG可以分担高层PKG的秘密信息产生和身份认证的任务;同时具有动态安全的特性,将签名的整个生命周期分成若干时间段,每个时间段都对密钥份额进行更新,更新后的份额
重构
的密钥保持不变。使用了离散对数相等的知识证明协议,以
保证
部分签名的
正确性
,并证明了方案的
正确性
、不可伪造性和鲁棒性。给出了方案的一些扩展。
研发管理
1,265
社区成员
28,324
社区内容
发帖
与我相关
我的任务
研发管理
软件工程/管理 管理版
复制链接
扫一扫
分享
社区描述
软件工程/管理 管理版
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章