`
梁利锋
  • 浏览: 81845 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

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

分享到:
评论
3 楼 梁利锋 2006-12-10  
在BOB大叔的Blog上,介绍了赛门铁克从以前的开发方式转换到XP的情况,这可能是我们所熟知的大企业完全使用XP开发的例子了吧。
据说,在赛门铁克转用XP前那些极度反对XP开发的人,在几个月后都成了XP的极力拥护者,这是一个很有趣的现象。
2 楼 梁利锋 2006-12-10  
实际中,我在几次偶然的机会中做过结对编程,感觉不错,而我个人目前也在使用测试驱动开发。不过,完全用XP开发,一来经验不足(这是一个先有鸡还是先有蛋的问题),二来很难说服老板(特别是结对编程),所以也没有做过。
不过,从我个人对于XP的理解,这些测试驱动开发、结对编程、迭代开发等等,都是环环相扣的,虽然独立使用也对项目有帮助,不过,组合在一起才能最大化的产生“敏捷”的效果。
1 楼 spartak 2006-12-09  
听起来不错,很适合创业的小团队。不知道有实际应用的经验吗,效果好不好

相关推荐

    Ruby on Rails 电子商务模板 批量导入商品

    Ruby on Rails 现在带来了网页开发风暴; 现在国内接触这方面资源较少,php还是主流,可是ruby崛起是必然。 笔者在ruby on Rails 学习中发现一个扩展性极好的模板,spree 工作之余,自己编写了基于这个模板的商品...

    Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版(pdf)

    《Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版》是一本专注于使用Ruby on Rails框架进行高效敏捷开发的专业书籍。在当前快速迭代、需求多变的互联网环境中,敏捷开发方法论已经成为了软件开发行业的主流实践。...

    The Ruby Programming Language

    - **Web开发**:Ruby on Rails框架极大地简化了Web应用程序的开发过程,使其成为最受欢迎的Web开发框架之一。 - **脚本编写**:Ruby可以用作系统管理脚本,执行自动化任务和服务器维护。 - **桌面应用**:Ruby可以...

    利用RJB在Ruby on Rails中使用Java代码的教程

    Ruby on Rails(Rails)是一个基于Ruby编程语言的全栈Web应用程序框架,因其简洁高效而备受开发者喜爱。Rails允许快速构建Web应用,并能轻松部署到各种Web容器,如IBM WebSphere或Apache Tomcat。在Rails出现之前,...

    Aptana Radrails - An Ide for Rails Development

    ### Aptana RadRails – 一款专为 Ruby on Rails 开发设计的 IDE #### 知识点一:Aptana RadRails 概述 - **定义与背景**:Aptana RadRails 是一款专为 Ruby on Rails(RoR)开发而设计的集成开发环境(Integrated...

    Ruby on Rails在Ping ++ 平台实现支付

    Ping++ 是一款为企业提供一站式支付解决方案的服务平台,支持多种主流支付方式,如支付宝、微信支付等,并提供完善的 SDK 和 API 接口文档,使得开发者能够轻松地将其集成到自己的应用程序中。 #### 实现支付所需的...

    Agile Web Development With Rails, Fourth Edition.pdf

    《敏捷Web开发与Rails第四版》是一本针对Ruby on Rails框架深入浅出的教程,由多位经验丰富的开发者共同编写。本书旨在帮助读者掌握最新的Rails开发技术,并了解不断变化的Rails生态系统。 自第三版以来,Rails经历...

    Ruby语言教程-一门高级的面向对象编程语言,它被设计用于简单和快速的编程 Ruby的语法简洁而优雅,它可以用于Web开发、

    1. **Web开发**:通过Ruby on Rails等框架,Ruby成为了构建现代Web应用的强大工具。 2. **游戏开发**:借助Gosu等库,Ruby也能用来开发2D甚至3D的游戏。 3. **桌面应用程序**:利用Shoes等库,Ruby可以轻松地开发出...

    Ruby编程,Ruby编程,

    - **Web开发**:Ruby on Rails框架极大地促进了Ruby在Web开发领域的应用。 - **脚本编写**:Ruby可以用来编写自动化脚本,处理各种系统管理和文本处理任务。 - **游戏开发**:尽管不如Python或JavaScript那样广泛...

    Ruby语言进阶教程

    Ruby背后的社区活跃,持续推动着语言的发展和优化,尤其是Ruby on Rails框架的出现,极大地提升了Web开发的速度和效率,吸引了大量开发者和企业的关注。 Ruby的核心优势在于其高度的灵活性和动态性,这使其能够在...

    Ruby Programming

    - **丰富的生态系统**:Ruby拥有强大的框架(如Ruby on Rails),这些框架极大地简化了Web开发过程。 - **跨平台能力**:Ruby可以在多种操作系统上运行,包括Windows、Linux和Mac OS X。 综上所述,《Programming ...

    lazypager-rails:用于 Ruby on Rails 的无限滚动页面延迟加载插件

    简单的无限滚动插件,适用于那些尝试过像或其他主流解决方案但它不适合的人。 杀手级功能 当元素切换器出现在视口中时,只有一个对服务器的请求(当我测试时,其他库出于一些奇怪的原因发出了 5-7 个请求) 带有新...

    几种软件开发工具的区别.pdf

    Ruby语言,尤其是Ruby on Rails框架,因其简洁和高效的特性受到开发者喜爱,有潜力成为Java的替代品。Flex是Adobe开发的富互联网应用(RIA)开发工具,用于创建互动性强的客户端应用程序。 Delphi曾是桌面应用开发...

    CoffeeScript Programming with jQuery, Rails, and Node.js.pdf 下载

    我们可以看出,《CoffeeScript Programming with jQuery, Rails, and Node.js》这本书涵盖了CoffeeScript在Web开发领域的广泛应用,不仅包括了与主流前端库jQuery的结合,还深入探讨了其在Ruby on Rails和Node.js等...

    Pragmatic Bookshelf, Programming Ruby 2nd

    - **Web开发**:Ruby on Rails是基于Ruby的流行框架,广泛应用于Web应用开发。 - **系统管理**:Ruby常用于自动化脚本编写,提高系统管理效率。 - **数据科学**:虽然不是主流选择,但Ruby在数据处理和分析方面也...

    计算机项目,网站制作的毕业设计开题报告

    Ruby on Rails是遵循REST原则的开源Web开发框架,自1.2版本起,RESTful设计成为了其核心理念。Rails框架通过约定优于配置(Convention over Configuration)的原则,使得开发者能快速构建RESTful应用。本项目将运用...

    javaCVCVB等软件开发工具的区别.docx

    其他语言和技术:Ruby 语言以其Ruby on Rails框架受到关注,被认为有可能替代Java的地位;Flex是用于创建富互联网应用程序的工具,基于ActionScript;Delphi 曾是桌面开发的重要工具;XML 是数据交换的标准格式,...

Global site tag (gtag.js) - Google Analytics