引用
Java程序你可以生成UML来读,可以很方便地navigate,这些便利在Ruby中享受不到。这是Ruby程序不好维护的一方面。

Java生成UML来读,但凡大一点的框架软件,UML图又大又复杂,根本看不出来头绪,这是不切实际的做法。

引用
另外一方面,由于语言本身的动态性,Ruby没有强大的IDE。这对接手维护的人来说确实是很头疼的一件事。

TextMate,Radrails,VIM对于编程的导航都很不错。但这不是最重要的。最重要的是rails项目的结构非常固定,每个文件也不大,该写什么不该写什么,框架都框死了。维护的人其实很容易的,他只要熟悉rails,根本不看代码就知道哪部分代码应该在哪里,哪部分功能在什么地方实现。这是rails相对于Java来说的一个很大的优势。使用Java,倘若你接手的项目使用的框架你没有接触过,那根本无从下手,即使大家使用同样的框架,但是自己进行了高层的不同方式的封装,你想看出来头绪,仍然要费很大的力气,但对于rails来说,不存在这些问题。

如果大家不信,我随便举两个例子。首先对比一下Java的开源博客软件roller,这是用struts/hibernate开发的,如果你能在一周之内彻底搞清楚roller的全部结构,那我得承认你的Java编程水平在我之上;再看看rails的开源博客软件typo,我半天就可以把typo全部代码实现细节全部都搞得清清楚楚。再来对比Java的开源论坛软件JavaBB,这个简单一些,但是结构也有一定复杂度,然后再对比rails开源论坛软件rforum,哪个容易阅读,哪个更加容易维护,这是昭然若揭的事实。

所以,rails开发的项目要远比Java开发项目好维护,特别你招聘新员工来进行维护,两者差距拉得更大。

引用
用Java比较容易写得好维护,毕竟这么多年的积累有很多的best practice,甚至还从best practice发展出来工具、框架。而Ruby这方面的积累还比较少,没有很多清楚的guideline来帮助你,也没有什么工具可以利用,一切都要靠自己

其实你说的正好相反,只要你不要太炫耀ruby的技巧,代码都是很好阅读的。rails编程为什么没有那么多模式和最佳实践,是因为rails已经把模式和最佳实践做在框架里面了,已经全副武装了,你直接拿来就用了。反而是Java,就算有了Spring/Hibernate/Webwork照样是在裸奔,没有代码生成机制,没有单元测试框架,没有测试数据设施,没有RESTFul URL机制,没有DB Migration,没有AJAX集成,没有实现好的分页机制,没有做好的Mock对象,没有现成的页面模板和装饰器,一切都要靠自己。
评论
carlosbdw 2007-08-02
目前日本的java框架也是目录固定的,甚至更加智能,web画面一句java代码也不用写
rasonyang 2007-04-17
java 框架可以借鉴ROR!
实际上可以通过Maven 2维护项目的目录组织结构,
也可以借鉴appfuse 2.0实现ROR的scaffold机制。
改改Struts 2,也可以实现Restful 2,甚至不需要annotation.
Sitemesh就可以提供装饰器.
Freemarker可以提供模板。
封装EXT JS 1.0不是一件难事,用rails封装,和用java封装,难度都差不多。当然得承认RJS确实比标签封装js要容易一些。
最关键的就像楼上说的,权限、工作流、门户、企业集成很多公司都有
现成的组件和产品,都改用rails确实不合适。
虽然永远达不到rails的开发效率,至少尽可能的接近rails还是有可能的。
lyo 2007-04-16
现在凡是公司都有自己的权限框架,工作流框架,oa框架等。这些都是可以在项目,产品中重用的,如果以后改用 rails的话,难道这些已有的构件都要重写?或者完全抛开不用了而用ruby另写新的? 这点就不切实际了吧?
ideage 2007-03-03
Simple is BEST!
tanjiazhang 2007-02-21
Ruby代码看起来就比Java舒服多啦。
hideto 2007-02-09
好维护是因为框架定的比较死,所以很简单
框架定死了灵活性就差了
另外ror局限于功能简单的小项目
没有丰富的第三方库,ror永远长不大
losing_fox 2007-02-09
维护性这个东西我觉得在项目有一定规模的时候才可以讨论
hiswing 2007-02-09
是优势也是劣势.看你怎样看待了.
发表评论

您还没有登录,请登录后发表评论

robbin
搜索本博客
我的相册
213cbb75-7dae-37b2-b9ce-9e7b49f784d3-thumb
游乌镇
共 33 张
其他分类
存档
最新评论