`
iamxi
  • 浏览: 189213 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

《重构》学习笔记四

阅读更多

测试……一年前,我开发的时候还是很不在乎测试,不过那个时候也没人告诉我测试的重要性。知道意识到要提高自己,学习中看到了那么多提到测试的,所以慢慢的尝试使用(大部分是单元测试),然后深深的爱上了单元测试(其他测试呢,好吧,编程中的确比较少用到其他测试,我比较懒)。

作者在前面反复提到测试在重构中的重要性,这章就是介绍测试的。

 

自我测试代码的价值:

编码往往只占了开发中的小部分时间,很多时间不是在沟通、设计,就是在找 BUG 。。。专业点,应该叫调试( debug )。测试的主要作用就是帮助调试,帮助开发中发现潜在的 BUG ,这样我们就可以少话点时间在调试上了。频繁进行测试是极限编程(下一个学习的内容)的重要一环。

确保所有测试都是自动化,让它们检查自己的测试结果。

一整组测试就是一个强大的 BUG 侦测器,能够大大缩减查找 BUG 所需要的时间。

 

JUNIT

看来 JUNIT 的历史很悠久啊,作者写书的时候就已经很成熟了。我想这个不需要多说了,现在有关 JUNIT 的介绍到处都是。我也喜欢用 JUNIT ,不过看书中的介绍的 JUNIT 的基本使用有点老了,完全忽略吧。

 

 

重构前先为需要重构的功能构建好测试用列,在重构中,每次变动都需要进行测试,以确保重构没有给程序带来什么BUG。这个很重要。

分享到:
评论

相关推荐

    31天重构学习笔记中文版

    31天重构学习笔记中文汉化版,非常好的编程规范书籍

    重构 学习笔记 refactoring martin fowler

    “每当我要进行重构的时候, 第一个步骤永远相同: 我得为即将修改的代码建立一组可靠的测试环境. 这些测试是必要的, 因为尽管遵循重构准则可以使我避免绝大多数的臭虫引入机会, 但我毕竟是人, 毕竟有可能犯错误. ...

    31天重构学习笔记.docx

    这个重构在微软的代码库也经常遇到。比如最经典的属性对字段的封装就是一个很好的例子,那么下面我们将看到对集合的封装,如下代码所示,调用端只需要一个集合的信息,而我们则提供了一个IList的集合,大家都知道...

    [免费高清PDF]31天重构系列笔记.rar

    [免费高清PDF]31天重构系列笔记.rar [免费高清PDF]31天重构系列笔记.rar

    .NET 快速重构 - 学习笔记

    重构是持续改进代码的基础。抵制重构将带来技术麻烦:忘记代码片段的功能、创建无法测试的代码等等。 而有了重构,使用单元测试、共享代码以及更可靠的无 bug 的代码这些最佳实践就显得简单多了。

    《重构》----学习笔记

    重构不是一项靠着天分挥洒的艺术,而是一项工程。重构是一种有纪律的,经过训练的,有条不紊的程序整理方案,可以将整理过程中不小心引入错误的机率降到最低

    JSP_Servlet学习笔记(第2版).pdf

    《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,...《JSP & Servlet学习笔记(第2版)》以“微博”项目贯穿全书,将JSP & Servlet技术应用于实际项目开发之中,并使用重构方式来改进应用程序架构。

    重构:改善既有代码的设计(第2版)学习笔记

    重构:改善既有代码的设计(第2版)学习笔记

    C#学习笔记

    我个人觉得面向对象是本本主义、洁癖的体现、是重构后的最后归属、它可能会矫情、在市场变化老板着急产品狭隘的情况下 快速制作快速上线才是王道,面向对象的基础是对事物的详尽认知,短时间内能做到吗 不好做到,...

    重构知识总结篇

    有关系统重构知识总结,网上浏览学习笔记。

    refactoring-to-patterns-notes:重构-向范式前进(重构为模式)的学习笔记

    重构为模式注释重构-向范式前进(重构为模式)的学习笔记。本站网址: : 本书已绝版,请参考。欢迎到讨论或指正错误。

    docker 学习笔记.docx

    最近老项目重构,打算使用Docker虚拟化技术,踩着坑整理的。希望帮助能够帮助的人。

    W3学习笔记--文献检索与有效阅读1

    标题摘要介绍难度2 详读并 记笔记可转述正标出不理解的名间 提问批判性思考改进重构作者的作到新 不是③献综述 学术观点 t 理论法1批判性归纳与评论堆砌只研究意

    AppFuse学习笔记(J2EE入门级框架)

    Appfuse是Matt Raible 开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、iBatis、Struts、xDcolet、Junit、Taperstry、JSF等基础框架给出...AppFuse2.0重构了AppFuse1.0,转到Maven2和Jdk1.5。

    angular 学习笔记

    前提 Angular1.5 到 Angular4.0是重写的语言,Angular1简称...在Angular知识学习(一)中有讲述到表单的知识,不过那是最基础的演示,在之后的学习中又了解到模板驱动表单,所以考虑对之前的表单案例进行重构,完善表单

    Java学习笔记-个人整理的

    {5.2.1}将浮点数四舍五入到指定精度}{98}{subsection.5.2.1} {6}Exception}{99}{chapter.6} {6.1}\ttfamily try-catch}{99}{section.6.1} {6.2}\ttfamily finally}{100}{section.6.2} {6.3}\ttfamily throws}{...

    appfuse 学习笔记

    Appfuse 一个开放源码的项目和应用程序,帮助我们快速而高效的地开发。 Appfuse是Matt Raible 开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、...AppFuse2.0重构了AppFuse1.0,转到Maven2和Jdk1.5。

    《xUnitTestPatterns》学习笔记系列

    学习笔记1-TestSmell这本书找来很久了,一直没读。关于软件测试的好书相当少,对于测试代码的重构及模式的书就更加难得了。虽然我才读了前几章,给我的感受是,这本书确实讲的很全面,并且给很多测试中的东西给出了...

Global site tag (gtag.js) - Google Analytics