软件绝对领域

一次结对编程与TDD实践

有机会可以接到一个小型商务平台的项目,最近就开始做一个平台的一些基础组件,比如新闻发布模块和用户管理模块。开发团队只有我和另一个同学,一共两个人。而我们对XP开发过程比较有兴趣,刚刚好可以进行结对编程和TDD。

开发已经进行了一个星期左右,已完成新闻发表模块中的新闻管理模块。因为完全没有经验,而且开发时间不够(只能在没有课的上午或者下午开发),开发进度很慢。但是自我感觉不错,因为体验了以前没有体验过的开发过程,从中学到了很多东西。

在整个开发过程中,我们始终坚持“测试先行”原则。首先列出要完成的任务清单,用JUnit写出相应测试代码,然后运行测试,出错,伪实现,重构。一般都是两个人,一个人持有键盘,写一个钟左右的代码,然后一边讨论一边写代码。在完成了一段代码之后有种神奇的感觉,好像不知不觉中代码就被写出来了,这可能是TDD神奇的地方。先写出符合需求的测试,接着按照测试来写代码,就是这么简单。

不过完成了新闻发布模块之后,经过讨论,决定下一步完成前台的UI。对于UI的开发,平时例子学习了不少,自己写的toycode也写了一些,但是在实际应用开发中对我们还是比较陌生。一开始准备用简单的JSP和Servlet来做前端,但是在前端控制器中代码实现有点混乱,现在就卡在UI这里了,最后经过讨论决定用WebWork作前端控制器。

以前在看K.Back的《解析极限编程》时,看到他把结对编程描述的很神奇:
结对程序员:
  • 使彼此都专注于任务
  • 一起头脑风暴,讨论系统的精化
  • 理清思路
  • 在搭档陷入困境时要主动,这样才能减少挫折
  • 使彼此都对团队的实践负责
经过实践之后,就很清楚地体会到k.Back讲到的结对的好处。

五一应该还会继续完成这个项目,而且是一边做一边学。


posted on 2007-04-28 20:40 _Kai_ 阅读(478) 评论(0)  编辑  收藏 所属分类: 随感


只有注册用户登录后才能发表评论。


网站导航:
 

公告

码农一枚

欢迎大家发E-mail到 与我讨论关于软件开发的各种看法。

最新Blog地址:http://thekayway.com/

导航

<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

统计

常用链接

留言簿(2)

随笔分类(21)

随笔档案(18)

常去的地方

技术站点

朋友的Blog

搜索

最新评论

阅读排行榜