对《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个人进行开发,也应该结对编程。

  不知道这算不算解答了文中的问题?

你可能感兴趣的:(XP,敏捷开发,企业应用,Ruby,Rails)