重构和单元测试

在接触程序后,经常会看到重构两个字,因为自己用不到,就没有取了解,今天在看书的过程中,看到了重构和测试,这才在网上百度一下。现在来说一下自己的理解,重构就是对程序代码添加或者修改,以提高程序代码的质量,性能,使程序的设计模式和架构更合理,提高软件的扩展性和维护性。
为什么要重构,因为随着社会的进步,程序可能不能满足原来的需求,需要增加功能,这就可能违反当初的设计架构,可能带来bug和性能的缺失,这个时候就需要我们做一件事,重构,如果重构不能满足这个程序,可能就要重写了。

重构的目的,改进软件设计更容易理解,找到Bug,提高软件开发速度。

单元测试也称为模块测试,通常在编程阶段,由程序员对自己编写的模块自行测试,检查模块是否实现了规定的功能和算法,单元测试主要发现编程和详细设计中产生的错误,单元测试计划应该在详细设计阶段制定。

时间: 2024-11-05 18:47:25

重构和单元测试的相关文章

代码重构之单元测试

代码重构之单元测试 代码重构即不改变原有的功能的前提下修改代码之间的关系,简单来讲就是让代码更简洁.易读,可维护性更高,并不削弱程序的原有功能.而在重构过程中一个重要的主题就是单元测试--保证每一步修改都不会改变程序的功能.为了消除繁琐的编码,测试过程,重构工具是必不可少的,通过重构工具,只需编写少量的代码就可进行单元测试. 首先,下载并安装重构工具:ReSharper 或其他工具 : 打开 Visual Studio 2013 -> 工具  -> 扩展和更新 -> 联机 -> R

ASP.NET 系列:单元测试

单元测试可以有效的可以在编码.设计.调试到重构等多方面显著提升我们的工作效率和质量.github上可供参考和学习的各种开源项目众多,NopCommerce.Orchard等以及微软的asp.net mvc.entity framework相关多数项目都可以作为学习单元测试的参考..NET单元测试艺术和C#测试驱动开发都是不错的学习资料. 1.单元测试的好处 (1)单元测试帮助设计 单元测试迫使我们从关注实现转向关注接口,编写单元测试的过程就是设计接口的过程,使单元测试通过的过程是我们编写实现的过

开发人员必备技能:单元测试

说起软件测试四个字,想必大家脑海中浮现的有集成测试.系统测试.黑盒测试.白盒测试等,可能就是没想到会有单元测试. 对于大学是学习软件工程专业出身的同学来说可能会听过这四个字,对工作好几年的职场老鸟可能也听过但是没实际用过居多.绝大多数的开发人员都是忙于把手头的工作开发好,并不会把单元测试纳入工作范畴,他们会说,我连功能开发都忙不过来了,哪有时间去做单元测试,况且还要写测试代码,那不是重复写一篇代码功能吗?但,单元测试真的不值得花时间去做吗,那是因为可能你并不清楚单元测试的投入产出比有多高,下面就

eclipse 重构(转)

Eclipse中的重构类型        如果你看一下Eclipse的重构菜单,可以看到四部分.第一部分是撤销和重做.其他的三部分包含Eclipse提供的三种类型的重构. 第一种类型的重构改变代码的物理结构,像Rename和Move.第二种是在类层次上改变代码结构,例如Pull Up和Push Down.第三种是改变类内部的代码,像Extract Method和Encapsulate Field.这三部分的重构列表如下. 类型1 物理结构 l         Rename l         M

浅谈单元测试

什么是单元测试 单元测试本质上也是代码,与普通代码的区别在于它是验证代码正确性的代码.可简单做个定义:单元测试是开发人员编写的.用于检测在特定条件下目标代码正确性的代码. 软件开发天生就具有复杂性,没人敢打包票说自己写的代码一点问题都没有,或者不经测试就能保证代码正确运行,可能你在这个执行路径下能够执行,殊不知还有其他路径,有一一去验证过吗,因此,要保证程序的正确性就必须要对我们代码进行严格测试. 举个简单例子:比如有个计算类,里面有个 add 方法,操作就是两个数进行相加. public cl

为什么要做单元测试

为什么要做单元测试 通常我们在做任何工作会先考虑它的回报,编写代码更是如此.如果单元测试的作用不大,没有人会愿意再写一堆无用的代码,那么单元测试到底能够给我们带来什么优点呢?如下: 便于后期重构.单元测试可以为代码的重构提供保障,只要重构代码之后单元测试全部运行通过,那么在很大程度上表示这次重构没有引入新的BUG,当然这是建立在完整.有效的单元测试覆盖率的基础上. 优化设计.编写单元测试将使用户从调用者的角度观察.思考,特别是使用TDD驱动开发的开发方式,会让使用者把程序设计成易于调用和可测试,

设计模式之美学习-重构

为什么要重构 重构是时刻保证代码质量的一种手段,避免代码腐化到不可维护的地步,同时也是避免前期过度设计.优秀的产品都是迭代出来的,我们不可能提前预知未来需求,所以重构也是无法避免的. 重构的二种方式 大型重构 对 系统.模块.代码结构.类与类之间的关系等的重构,重构的手段有:分层.模块化.解耦.抽象可复用组件.此类重构会对代码的改动比较大,影响比较深. 比如我们的代码中有很多if else 判断 我们重构提取一个抽象 然后根据条件创建不同的处理类 小型重构 对类.函数.变量等代码级别的重构,比如

java程序员面试----交流项目经验(摘自百度)

1:请你介绍一下你自己这是面试官常问的问题. 2:说说你的家庭面试时询问家庭问题不是非要知道求职者家庭情况,探究隐私,而是要了解家庭背景对求职者的塑造和影响.面试官希望听到的重点也在于家庭对求职者的积极影响. 3:说说你的最大优缺点这个问题的概率很大,面试官喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分. 4:就你申请的这个职位,你认为你还缺什么?面试官喜欢问求职者的弱点,但精明的求职者一般不直接回答.他们希望看到这样的求职者:继续重复自己的优势,然后说:

明星软件工程师的10种特质(转)

如今,每家公司都似乎成了科技公司.从软件创业公司到投机性投资公司.制药巨头和媒体巨头,它们都越来越多地加入到软件业务行列.代码质量不仅成为了一个必需品,更成为了一个竞争优势.因为众多公司围绕软件而竞争,开发软件的人——软件工程师正显得越发重要.但是,你该如何发现那种百里挑一的程序员呢?在本文中,我们简明扼要地列出了明星开发人员的10种特质. 1. 热爱编程 2. 完成事情 3. 持续重构代码 4. 使用设计模式 5. 编写测试 6. 善用现有代码 7. 专注可用性 8. 编写可维护的代码 9.