Leadge.com首页 > 知识库
文章搜索
首次敏捷项目开发实践
2009-2-17 11:01:16  作者:佚名
  
2、  简单(simplicity)

保持代码和设计尽可能简单是系统可扩展性和可维护性的重要保障。关于Simple Design的讨论可见徐X的Agile 101: Pair Programming & Simple Design  。kent beck用四个条件定义了简单的系统代码:运行所有的测试获得通过、意图明确、没有重复、使用尽可能少的类和方法。我和accompanier也一直在向这个目标努力。

3、  反馈(feedback)

没有持续的反馈,敏捷将无从谈起。customer、accompanier、team以及test result的反馈给我们向用户交付真正需要的系统提供了保证。我们的BA每天和客户沟通,掌握用户真正、迫切需要的功能和需求。由于我们的系统是一周发布一次,所以客户也能在很短的时间内知道完成的新功能,并及时提出改进意见和建议(其实客户的需求也是一直不停地在变的)。

4、  勇气(courage)

为了使代码更加清晰、质量更好,对工作代码进行大范围的修改和重构需要勇气,把某些代码彻底抛弃需要勇气,告诉客户无法再添加新功能需要勇气。我和accompanier目前都还有这样的勇气,希望系统越来越大、代码越来越多的时候还有这样的勇气。
 
三、测试驱动开发(TDD)

关于TDD我们一直在尝试寻找更爽的方法,目前采用的是webwork、spring、hibernate的组合框架,在大脑里无意识的已经存在了三层结构,我觉得采用TDD,这三层结构应该是最后被驱动出来产生的,而不是一开始就定好三层,然后再TDD编码。

我们目前是分别对每层进行TDD,还是觉得service层驱动最有成就感,看到green bar 就令人兴奋,action层老是mock来mock去的走流程实在属没啥意思。

最近又看到了使用Selenium和Castle进行测试驱动开发 ,本想采纳,但是使用Selenium进行至顶向下的驱动的话通过一个测试所需的时间太长了,我是对green bar有点上瘾了的人,不能忍受那么长时间的red bar,怀疑它会对偶的身心健康造成影响,所以就作罢,还是由底至上的方法使测试通过的实践最短,不知道各位对这样的三层结构是怎么TDD的?
 
Robert C. Martin大叔的TDD三条军规如下:
1.除非这能让失败的单元测试通过,否则不允许去编写任何的产品代码。
2.只允许编写刚好能够导致失败的单元测试。 (编译失败也属于一种失败)
3.只允许编写刚好能够导致一个失败的单元测试通过的产品代码。
对于任何功能,一定要从编写它的单元测试开始;但是到了原则2,你就不能再为那个单元测试写更多内容。只要一出现该单元测试代码编译失败,或是断言失败,你就必须停下来开始编写产品代码;但是到了原则3,你就只能编写产品代码,直到让测试编译成功或通过断言为准。

此文章共有3页  上一页 1 2 3 下一页

文章来源:中国项目管理资源网

发表评论    【推荐】 【打印
我来评两句 查看最新评论〗 
请您注意:
·遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而导致的法律责任
·本网留言板管理人员有权删除其管辖留言内容
·您在本网的留言,本网有权在网站内转载或引用
·参与本留言即表明您已经阅读并接受上述条款
昵称: 匿名
 
图片广告
热点文章
论坛精贴