敏捷中的重构与测试驱动

最近公司的公司的项目都是由敏捷的方式开发的,所以大家都遵循简单的原则,开发的时候都以简单的方式实现,只有在必要的时候进行重构。但是,项目进行了半年以后,我发想我们的项目已经朝着重复代码的方向牢牢进发。

经过了解以后我发现,这个问题的主要原因是大家没有认真的进行重构这项工作。仔细了解我发现大家的回答是怕破坏项目现有的功能,这其中当然有我们的开发人员都很年轻的原因。但是我想最主要的还是由于项目没有将测试驱动和重构结合起来。

本人认为在敏捷中重构必须要和测试驱动牢牢绑定,否则再牛的程序员在重构时也也有可能遗漏某些方面,破坏项目的既有功能。

再回到我们的项目,当提到测试驱动的时候,大家的反应就是不太现实。应为很多功能不能写出测试用例,最明显的就是页面某个按钮什么可用不可用。起初我也是十分同意这个观点。

但是经过后期的思想斗争后,我发现这个观点完全是错的:

导致类似上面的问题是,我们没有很好的将软件进行合理分层。还是那页面按钮什么时候可用的例子来说,我们就不应该把这个判断的逻辑写在View层,而应该写在BLL层,View只是调用BLL层相应的函数,然后根据的返回值设定状态。那么我们就可对BLL层的函数加上测试函数。所以我感觉只要分层合理,大家严格执行,我们其实只要对BLL以下做测试驱动就可以了,view层貌似没有必要做测试驱动。

总之一句话,在敏捷中重构是比不可少的,那么与之绑定的测试驱动也是必不可少的。

以上仅仅代表个人观点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值