2006-12-09
对《ruby on rails为什么暂时无法成为企业应用开发的主流?》的一点看法
今天看了《ruby on rails为什么暂时无法成为企业应用开发的主流?》一文和它的评论,有一点看法,不过注册3天才能发技术贴,即使回复也不行,另外,好像是老文章了,所以算了,在这里说一下。
该文中说道:
- 例如JavaEye2.0中,整个forum就只有一个controller,整个blog也就只有一个controller。当然你惊叹,整个forum代码就一个文件搞定了啊,代码太少了!但是反过来,你也可以说,论坛这个功能只能交给一个人来做了,没有办法再拆分功能了。这就带来了一个问题,团队协作变的困难了,如果两个人同时做论坛模块,就会出现经常性的该controller文件冲突合并。即使妥协一下,每个人只负责一个大功能块,但是底层的model代码都是互相关联在一起的。又难以避免的并发修改和文件冲突合并。
我听说,ROR就是设计为敏捷开发服务的,也可以说用ROR就必须用敏捷开发。
敏捷开发我只了解一些XP,XP中有一些原则,比如测试驱动开发、结对编程、迭代开发等等。
从文中介绍的情况来看,至少你们没有使用结对编程。
假设有4个程序员ABCD,结对的情况是怎么样呢?
可能是第一天上午AB结对开发函数X、CD结对开发函数Y,下午AC结对开发函数Z、BD结对开发函数X;第二天上午AD结对开发函数Y、BC结对开发函数Z,下午又是CD结对开发函数Z、AB结对开发函数Y。
这就是说,结对的两个人不是固定的,所开发的模块也是变化的,所以,一个 Controller 即不是一个人开发的,也不是结对的两个人开发的,而是所有开发人员共同开发的。事实上,连一个函数也非常可能是由多个人完成的。这样,在项目结束时,所有人对项目的所有部分都有接触,所有的开发人员都可以进行项目维护,离开一个人,或者加入一个新人,对于开发团队不会造成大的不利影响。
而在结对编程中,那些“奇技淫巧”可以通过结对的两个人的讨论,得以传播、或者放弃。结果是统一思想、统一编程风格等等,也就使得开发出来的软件的可维护性增强。
事实上,就我的理解,使用XP开发,就算只有2个人进行开发,也应该结对编程。
不知道这算不算解答了文中的问题?
评论
梁利锋
2006-12-10
在BOB大叔的Blog上,介绍了赛门铁克从以前的开发方式转换到XP的情况,这可能是我们所熟知的大企业完全使用XP开发的例子了吧。
据说,在赛门铁克转用XP前那些极度反对XP开发的人,在几个月后都成了XP的极力拥护者,这是一个很有趣的现象。
据说,在赛门铁克转用XP前那些极度反对XP开发的人,在几个月后都成了XP的极力拥护者,这是一个很有趣的现象。
梁利锋
2006-12-10
实际中,我在几次偶然的机会中做过结对编程,感觉不错,而我个人目前也在使用测试驱动开发。不过,完全用XP开发,一来经验不足(这是一个先有鸡还是先有蛋的问题),二来很难说服老板(特别是结对编程),所以也没有做过。
不过,从我个人对于XP的理解,这些测试驱动开发、结对编程、迭代开发等等,都是环环相扣的,虽然独立使用也对项目有帮助,不过,组合在一起才能最大化的产生“敏捷”的效果。
不过,从我个人对于XP的理解,这些测试驱动开发、结对编程、迭代开发等等,都是环环相扣的,虽然独立使用也对项目有帮助,不过,组合在一起才能最大化的产生“敏捷”的效果。
spartak
2006-12-09
听起来不错,很适合创业的小团队。不知道有实际应用的经验吗,效果好不好
发表评论
- 浏览: 13624 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
Visual Studio 2008 的缺 ...
看了几个自己写的项目,发现cs文件的代码页都是utf-8带签名的,不知道我看到代 ...
-- by 梁利锋 -
导航、权限管理及 Linq 应 ...
PostSharp 很酷,而且效率比 Reflection 高,值得一试。
-- by 梁利锋 -
导航、权限管理及 Linq 应 ...
哦,原来这样。 DynamicProxy 确实不错,通用性很好。
-- by 梁利锋 -
导航、权限管理及 Linq 应 ...
因为对于一些不考虑客户端的web程序来说,似乎没必要自己调用自己的 WCF we ...
-- by oldrev -
导航、权限管理及 Linq 应 ...
@oldrev 为什么感觉效率很低呢? 就我自己的开发经验,感觉效率低,和真的 ...
-- by 梁利锋






评论排行榜