剖析短迭代
敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?
作者 Mirko Stocker译者 贾晓楠 发布于 2008年5月27日 上午9时56分
Brian Ford宣布开通了RubySpec项目的官方网站:
该项目的目标是基于RSpect风格的规范(specs)为Ruby编程语言建立一个完整的可执行规范。这个项目一开始只是一个早期Rubinius开发者眼里的小火苗。后来它发展到由热心的人们贡献的超过6900个实例和25600个期望。
Ruby语言并没有一个正式的标准来规定它的表现和性能。而且Ruby的实现版本越来越多,因此必然需要一个规范。在现代软件开发的精神下,可执行的规范要好于用其他形式的规范。因为它能够执行,而且几乎可以立即给出反馈。这样就很容易对一致性进行验证。
Federico Builes和Arthur Schreiber两位同学正准备参加即将开始的Google编程之夏(Google Summer of Code)活动。他们打算对Ruby规范进行改进和扩展。我们访问了他们两个,谈了他们准备在这个夏天做哪些工作。
Federico Builes是哥伦比亚大学的学生。他是两年前在寻找用什么来代替C时开始接触Ruby的。现在他正在参与Rubinius项目的开发。我们问了他在这次在Google编程之夏活动中的目标:
项目的第一部分是为一些标准库和内核库写规范(测试),包括REXML、YAML、 Logger、Socket和IO。
剩下的部分(由Charles Oliver Nutter所建议)是看一看其他Ruby实现版本所使用的不同的测试用例,并把它们移植到Rubyspec中,使我们的规范尽可能完整。
我们还问了Federico怎样找出缺少测试的代码:
由于我已经确定了要用的哪些库,我就直接找出这些库的文档,查看一个方法的功能,然后写出相应的规范。如果这个方法像文档所写的那样工作,就非常好。如果不是,我就去读源代码,看看到底是怎么回事。
先 阅读文档而不是直接去读代码的一个好处是,你能经常看到有些东西不按照要求来工作。当我阅读REXML规范时,我在一天内就为一些小错误和过时的文档发了 三四个补丁。现在,他们在Ruby 1.9中都修补好了。由于Rubyspec是MRI的一部分,我想这类错误应该会被很快发现并修补。
另外,MSpec是一个我们在Rubyspec中使用的RSpec复制品,它能帮你为还没有测试的库建立标志,然后你可以把它们标记成未完成、就绪、在X或Y实现版本上失败等状态。这样你就能看到一些库会在某些Ruby实现版本中出问题,然后着手去解决。慢慢地你就会发现测试用例覆盖了所有的改变。
19岁的Arthur Schreiber来自德国,他是另一个参与此项目的学生。他从2007年5月开始接触Rubinius,提交了许多补丁,修补了一些错误和许多文档。我们问了他同样的问题:
在这次GSoC活动中,我的目标是为一些Ruby标准库建立或者改进规范,包括CGI、StringIO、Net、Set以及其它一些更小的库。
我们使用的主要工具之一是MSpec。它是一个兼容RSpec的BDD框架,是由Rubinius团队的Brian Ford开发的。MSpec的目的是通过回避Ruby语言的高级特性,让未完成的实现也能运行规范。
MSpec支持一种基本的覆盖功能,可以指出尚没有规范的方法。可是这个功能已经被去掉了,分别放进了MSpec和Rubyspecs各自的库里。Brian Ford准备尽快把这个功能重新加进去。还有一种想法,是采用RCov来检查标准库的规范覆盖情况。
如果你想做一些贡献,Vladimir Sizikov写了一篇RubySpec快速入门指南,讲解了入门的基本步骤。要了解该项目的详细情况,请访问RubySpec网站。
查看原文:The Official RubySpec Website and Its Google Summer of Code Students
本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。
在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。
InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!
在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。
通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。
本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。
InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。
没有回复
回复