测试驱动的编程是XP困扰程序员的一个方面。
对于测试驱动的编程意味着什么以及如何去做,大多数人都做出了不正确的假设。
这个月,XP方面的讲师兼Java开发人员RoyMiller谈论了测试驱动的编程是什么,它为什么可以使程序员的生产力和质量发生巨大变化,以及编写测试的原理。
请在与本文相随的论坛中提出您就本文的想法,以飨笔者和其他读者。
(您也可以单击本文顶部或底部的“讨论”来访问该论坛。
)最近50年来,测试一直被视为项目结束时要做的事。
当然,可以在项目进行之中结合测试,测试通常并不是在所有编码工作结束后才开始,而是一般在稍后阶段进行测试。
然而,XP的提倡者建议完全逆转这个模型。
作为一名程序员,应该在编写代码之前编写测试,然后只编写足以让测试通过的代码即可。
这样做将有助于使您的系统尽可能的简单。
先编写测试XP涉及两种测试:程序员测试和客户测试。
测试驱动的编程(也称为测试为先编程)最常指第一种测试,至少我使用这个术语时是这样。
测试驱动的编程是让程序员测试(即单元测试―重申一下,只是换用一个术语)决定您所编写的代码。
这意味着您必须在编写代码之前进行测试。
测试指出您需要编写的代码,从而也决定了您要编写的代码。
您只需编写足够通过测试的代码即可―不用多,也不用少。
XP规则很简单:如果不进行程序员测试,则您不知道要编写什么代码,所以您不会去编写任何代码。
测试驱动开发(TDD)是极限编程的重要特点,它以不断的测试推动代码的开发,既简化了代码,又保证了软件质量。
本文从开发人员使用的角度,介绍了TDD优势、原理、过程、原则、测试技术、Tips等方面。
背景一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦。
国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从。
最近兴起的一些软件开发过程相关的技术,提供一些比较高效、实用的软件过程开发方法。
其中比较基础、关键的一个技术就是测试驱动开发(Test-DrivenDevelopment)。
虽然TDD光大于极限编程,但测试驱动开发完全可以单独应用。
下面就从开发人员使用的角度进行介绍,使开发人员用最少的代价尽快理解、掌握、应用这种技术。
下面分优势,原理,过程,原则,测试技术,Tips等方面进行讨论。
1.优势TDD的基本思路就是通过测试来推动整个开发的进行。
而测试驱动开发技术并不只是单纯的测试工作。
2023/9/24 18:44:46 360KB 测试驱动开发 TDD
1
工具是为制作QQ皮肤的人准备的,源代码是为vc程序员准备的。
本压缩包即提供编译好的可执行程序,又提供了程序的源代码。
工具的作用是把Tencent公司QQ皮肤使用的Gft图像格式,转成Png或Bmp格式,当选择包含Gft文件的文件夹时,支持批量转换文件夹下及子文件夹下所有Gft文件。
此工具是喜欢制作QQ皮肤的美工朋友或喜欢仿QQ界面的开发人员必备工具。
2023/9/24 13:10:44 6.64MB Tencent QQ Skin LibUIDK
1
Quartz是个开源的作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制。
Quartz框架包含了调度器监听、作业和触发器监听。
你可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听。
Quartz允许开发人员根据时间间隔(或天)来调度作业。
它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。
整合了Quartz的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。
并且还能和Spring配置整合使用。
Quartz在功能上远远超越了JDK自带的Timer,很好很强大!
2023/9/18 1:44:42 940KB 任务调度 开源框架 quartz spring
1
(ISE使用详解.pdf);
ISE的使用教程,对初学者很适用,讲的很详细,对于开发人员也可以平时做参考用。
2023/9/17 23:44:45 11.59MB ISE使用
1
javaapiopennlpOpenNLP开发人员文档
2023/9/17 8:04:34 197KB opennlp
1
用于Laravel的RESTAPIResponseBuilder目录介绍ResponseBuilder是一个软件包,旨在帮助您构建一个美观,规范化且易于使用的RESTAPIJSON响应。
好处ResponseBuilder是由RESTAPI开发人员为RESTAPI开发人员编写的,并且基于API两面的长期经验。
它是轻量级的,经过广泛测试的,易于使用但又灵活而强大的功能,并支持即时数据转换,本地化,自动消息构建,链接的API和(希望如此)详尽的文档。
但这还不是全部!ResponseBuilder生成的JSON结构在设计时考虑了您的API用户,使您轻松处理API。
简单的JSON响应,具有定义明确且可预测的结构,易于使用,没有任何麻烦或诡计。
作为提供的ExceptionHandlerhelper,您甚至在紧急情况下也能得到保证,即使在意外情况下,也可以确保您的API始终与客户端通信JSON(而不是HTML)。
我是否提到过,您还将获得测试特性,只需几行代码就可以自动对整个ResponseBuilder相关的代码和配置进行单元测试?产品特点,,
2023/9/14 19:58:30 181KB api php json laravel
1
高清英文PDF版。
DSL领域的丰碑之作,软件开发“教父”MartinFowler历时多年的心血结晶,ThoughtWorks中国翻译。
  全面详尽地讲解各种DSL及其构造方式,揭示与编程语言无关的通用原则和模式,阐释如何通过DSL有效提高开发人员的生产力以及增进与领域专家的有效沟通。
《领域特定语言》是dsl领域的丰碑之作,由世界级软件开发大师和软件开发“教父”martinfowler历时多年写作而成,thoughtworks中国翻译。
全面详尽地讲解了各种dsl及其构造方式,揭示了与编程语言无关的通用原则和模式,阐释了如何通过dsl有效提高开发人员的生产力以及增进与领域专家的有效沟通,能为开发人员选择和使用dsl提供有效的决策依据和指导方法。
  全书共57章,分为六个部分:第一部分介绍了什么是dsl,dsl的用途,如何实现外部ds和内部dsl,如何生成代码,语言工作台的使用方法;
第二部分介绍了各种dsl,分别讲述了语义模型、符号表、语境变量、构造型生成器、宏和通知的工作原理和使用场景;
第三部分分别揭示分隔符指导翻译、语法指导翻译、bnf、易于正则表达式表的词法分析器、递归下降法词法分析器、解析器组合子、解析器生成器、树的构建、嵌入式语法翻译、内嵌解释器、外加代码等;
第四部分介绍了表达式生成器、函数序列、嵌套函数、方法级联、对象范围、闭包、嵌套闭包、标注、解析数操作、类符号表、文本润色、字面量扩展的工作原理和使用场景;
第五部分介绍了适应性模型、决策表、依赖网络、产生式规则系统、状态机等计算模型的工作原理和使用场景;
第六部分介绍了基于转换器的代码生成、模板化的生成器、嵌入助手、基于模型的代码生成、无视模型的代码生成和代沟等内容。
2023/9/14 16:33:38 5.53MB 领域特定语言
1
这是基于android通讯录实现的毕业设计,包括软件安装及使用,以及完整的代码,还有成品展示的视频,可以提供给初学者及相关开发人员的参考学习。
2023/9/13 23:55:38 24.21MB 安卓通讯录
1
移动应用程序开发正在飞速发展;
一部分原因是出现了可以简化开发的新框架,这种新框架也使传统web开发人员可以更快上手。
本文将介绍如何利用您已经掌握的HTML、CSS和JavaScript技能和两种新框架来开发本地移动应用程序,这两种框架分别是Jo和开源的PhoneGap,后者使您能够利用最流行的移动平台上的一些本地特性。
移动应用程序开发基本上可以分为两类:web或本地。
移动web应用程序开发与传统web开发差不多,区别在于前者针对移动平台。
您的应用程序存储在web服务器上并由其提供服务,然后由移动web浏览器消费。
可以预料到,浏览器上可供使用的资源和功能非常有限。
将这一点与本地开发相比,后者使您
1
畅销的学习指南完全更新为新的CompTIALinux考试XK0-004这是您的一站式资源,全面覆盖考试XK0-004,涵盖100%的所有考试目标。
你将用Sybex更聪明、更快地为考试做准备,这要归功于优秀的内容,包括检查考试准备情况的评估测试、客观的地图、真实的场景、动手练习、关键主题的考试要点,以及具有挑战性的章节复习问题。
Linux是一个基于UNIX的操作系统,最初是由LinusTorvalds在世界各地开发人员的帮助下创建的。
在GNU通用公共许可证下开发,源代码是免费的。
正因为如此,许多组织和公司认为Linux是一种优秀的、低成本的、安全的替代昂贵的开放源码软件(如MicrosoftWindows)的选择。
CompTIALinux考试测试考生对Linux内核的理解和熟悉程度。
随着Linux服务器市场份额的不断增长,对合格和认证的Linux管理员的需求也在增长。
在流行的Sybex学习指南方法的基础上,这本书将提供新的Linux考试XK0-004目标的100%覆盖率。
这本书包含了关于所有linux管理主题的清晰而简洁的信息,并包含了从现实世界经验中得出的实际例子和见解。
2023/9/13 18:50:49 18.3MB Linux
1
共 736 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡