引用
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对象,没有现成的页面模板和装饰器,一切都要靠自己。
分享到:
相关推荐
- **测试**:介绍如何为Ruby on Rails项目编写单元测试和集成测试。 - **AJAX**:学习如何在Ruby on Rails应用中集成异步JavaScript和XML技术。 - **部署、安全与性能**:讲解如何部署Ruby on Rails应用、实施安全...
通过这本书,PHP和Java开发者可以了解到RoR如何提供一个高效且优雅的开发环境,理解其核心理念,从而更好地融入到Ruby on Rails的开发世界中。同时,书中还可能包含实际项目案例,帮助读者将理论知识应用于实践,...
这对于希望参与开源社区并为 Ruby on Rails 项目做出贡献的开发者来说,是极其宝贵的信息。 ##### 4. 设计模式在 Ruby 中的应用 **知识点:** Khaled al Habache 讲解了设计模式在 Ruby 中的运用,特别关注 ...
5. **项目实践**:提供了一些实际的JRuby on Rails项目案例,展示如何在Java环境中搭建和运行Rails应用。 6. **迁移策略**:对于已有Java项目的团队,可能会讲述如何平滑地将部分功能迁移到JRuby on Rails。 通过...
不像Java框架那样通常需要多个框架配合使用,Rails提供了一个集成了诸多功能的单一解决方案,从而减少了项目中所需协调和集成不同框架的复杂性。 在比较Java和.NET平台时,Java社区提供了丰富的框架选择,但这也...
为了促进这种和谐共存,Halloway提倡为JRuby项目贡献代码,以及在Java应用中采用Rake替代Ant进行构建管理,这将有助于融合两种语言的优点,推动跨语言的协作和发展。总的来说,选择Ruby还是Java应基于项目的实际需求...
10. **敏捷开发**:敏捷开发是一种迭代、增量的软件开发方法,强调灵活性和客户满意度,书中会介绍如何在Rails项目中应用敏捷实践,如持续集成、短迭代周期和用户故事。 通过研究和运行"depot"源代码,你可以亲身...
### Ruby on Rails企业应用开发详解 #### 一、引言 《Ruby on Rails Enterprise Application Development》这本书由...通过学习本书,你可以更好地理解和掌握Ruby on Rails在构建复杂企业级应用方面的优势和技巧。
往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
1. **MVC架构**:Rails采用了模型-视图-控制器(Model-View-Controller, MVC)架构模式,将应用程序逻辑划分为三个相互独立的部分,有助于提高代码的组织性和可维护性。 2. **DRY原则**:“Don't Repeat Yourself”...
- **重要性**:对于开发者而言,了解Rails的发展趋势有助于规划个人或项目的技术栈发展方向。 - **应用场景**:适用于正在使用或考虑使用Ruby on Rails进行开发的团队和个人。 ##### 2. Fine Articles on Ruby & ...
往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...