2007-02-09
rails项目为什么比Java项目好维护?
引用
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还是有可能的。
实际上可以通过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永远长不大
框架定死了灵活性就差了
另外ror局限于功能简单的小项目
没有丰富的第三方库,ror永远长不大
losing_fox
2007-02-09
维护性这个东西我觉得在项目有一定规模的时候才可以讨论
hiswing
2007-02-09
是优势也是劣势.看你怎样看待了.
发表评论
- 浏览: 1677850 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
游乌镇
共 33 张
共 33 张
链接
最新评论
-
mod_rails尝鲜
我觉得还是mod_fcgid(不是mod_fastcgi)实际点
-- by zgd -
mod_rails尝鲜
hostingrails也已经提供mod_rails了
-- by leondu -
mod_rails尝鲜
dreamhost已经提供mod_rails了
-- by zgd -
关于JavaEye网站未来发展 ...
期待第三阶段目标的实现,但第三目标好像类似于google的云计算,建议赶紧开发, ...
-- by selectme_2008 -
总结一下大家对JavaEye网 ...
javaeye是我比较喜欢的一个网站,但盈利模式还是比较单一,让人怀疑网站是否能 ...
-- by selectme_2008






评论排行榜