论坛首页 编程语言技术论坛

我怎么就觉得rails适合做大型应用

浏览 104862 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-08-26  
mycybyb 写道
gigix 写道

companies.collect(&:departments).flatten.select{|dep|dep.location=="Shanghai"}.collect(&:employees).flatten.uniq.size

拿Java写一个来看看?

用java把那几个函数封装一下就可以了。
rails不就是把这些功能内置了吗。
还是那句话,java是语言,rails是框架,不具有可比性。用java也可以做个rails出来。

sigh
你写出来看看啊。就当你已经封装好了,拉出来遛一个咯。
而且麻烦你搞搞清楚,这行代码可跟Rails一点关系都没有呢。
0 请登录后投票
   发表时间:2008-08-26  
你怎么知道rails没有,比如没用工作流系统、没有图形开发库、没有应用建模框架、没有企业建模框架、没有权限资源管理框架,没有应用建模框架、没有消息框架?
0 请登录后投票
   发表时间:2008-08-26  
ltian 写道
gigix 写道
ltian 写道
您能说明用rails 开发的系统用10万行,而别的语言,比如java就要用100万行吗?大型系统靠的是通用框架和组件来缩短代码行数,提高系统的稳定性和易维护性,而不是靠语言本身吧?

不信就算了。我没啥必要非说服你不可。

咱们讨论道理,不是谁要说说服谁的问题。我的观点是,大型系统开发方面,通用框架和平台的作用远远超出语言本身的作用。比如没用工作流系统、没有图形开发库、没有应用建模框架、没有企业建模框架、没有权限资源管理框架,没有应用建模框架、没有消息框架那么开发大型企业应用是很困难的。大型企业应用可不单单是人机界面多的问题。用rail开发人机界面可能比JSF或者其他JAVA的表现层技术要快捷些。但是这不能说明开发大型企业应用就占优势。当然我也不反对rails能开发大型应用,关键是你的团队有没有很多成熟的框架,如果仅仅是依靠语言本身,我觉得远远不够。

我同意。实际上比如我手上的这个Rails应用,做到大半年以后基本上就跟Rails关系不大了,做的都是自己的一套东西。比如Mingle,早就不是在做Rails应用了。
所以这个时候你更在乎语言的表达力。代码越少越容易维护。做到这种时候你才真正感觉到Ruby语言能给你带来多大的收益。
0 请登录后投票
   发表时间:2008-08-26  
javaeye_003 写道
你怎么知道rails没有,比如没用工作流系统、没有图形开发库、没有应用建模框架、没有企业建模框架、没有权限资源管理框架,没有应用建模框架、没有消息框架?

对rails不熟悉 麻烦举些例子好么
0 请登录后投票
   发表时间:2008-08-26  
ltian 写道
这样的代码我是反对的。级联太多,调试不好调。通过这样的代码来减少代码行,却牺牲了程序的可读性,我认为不可取。你的心情我能理解,但是这一行代码说不明不了问题。

你不理解
我可以在任何一个位置把它断开,抽取局部变量或者抽取方法
Ruby可以在需要的时候写得像Java一样规范
而Java在需要的时候也没办法写得像Ruby一样简洁
0 请登录后投票
   发表时间:2008-08-26  
javaeye_003 写道
LS你去用java也可以做个rails出来看看?
呵呵,请教动态语言的动态是什么意思?


我当然知道ruby是动态语言,有一些东西用java来实现很复杂,而ruby就很简单。对此,我也很羡慕。

做个rails,我一个人,有心也无力啊。我只是说可以。

不过最近正在作一个框架,绝对零配置的。举个例子:
Person person = EntityManager.find(Person.class, 1);
person.setName("xxx");
EntityManager.save(person);
List list = person.listAll(Contact.class);
0 请登录后投票
   发表时间:2008-08-26  
ltian 写道
department.getChildDepartmentList().add(custom.getDepartment()==null?custom.getDepartment():new Department());
不是一样的长而且啰嗦吗?

你真的看了我写那行代码到底是在干什么吗?
回帖要先看帖。
0 请登录后投票
   发表时间:2008-08-26  
呵呵
buf.append("1").append(2).append(true).insert(3, "4").toString()
0 请登录后投票
   发表时间:2008-08-26  
gigix 写道
其实,代码越少越容易维护,这个对于大型应用更要紧

+1
让我用JavaEye的代码来做个验证,这是今年7月份时候JavaEye网站的代码状态
+----------------------+-------+-------+---------+---------+-----+-------+
| Name                 | Lines |   LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Controllers          |  3006 |  2556 |      49 |     407 |   8 |     4 |
| Helpers              |   537 |   492 |       0 |      47 |   0 |     8 |
| Models               |  2169 |  1805 |      54 |     262 |   4 |     4 |
| Libraries            |   932 |   753 |       8 |      80 |  10 |     7 |
| Model specs          |  1270 |   974 |       0 |       0 |   0 |     0 |
| View specs           |     0 |     0 |       0 |       0 |   0 |     0 |
| Controller specs     |   181 |   101 |       0 |       0 |   0 |     0 |
| Helper specs         |   111 |    91 |       0 |       0 |   0 |     0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total                |  8206 |  6772 |     111 |     796 |   7 |     6 |
+----------------------+-------+-------+---------+---------+-----+-------+
  Code LOC: 5606     Test LOC: 1166     Code to Test Ratio: 1:0.2

总共代码是5606行
这5000多行代码实现了新闻,论坛,问答,Wiki,博客,圈子,全文检索,后台管理等全部功能。
而且这还是我们对于Rails边学边做的,并没有进行多少代码重够的结果,很多Rails 2.X的新特性也都没有用在上面。
大家可以根据自己其他类似项目的经验来估计一下,我的估计是用目前流行的Java框架完成这些功能,代码量要在20000~25000行。
11 请登录后投票
   发表时间:2008-08-26  
ltian 写道
gigix 写道
ltian 写道
department.getChildDepartmentList().add(custom.getDepartment()==null?custom.getDepartment():new Department());
不是一样的长而且啰嗦吗?

你真的看了我写那行代码到底是在干什么吗?
回帖要先看帖。

我知道你想说你那行代码威力惊人,能实现很强大功能。但是我认为如果搞那么复杂的一行代码不如
将其打散封装成一个函数,给其一个非常易读的名字。然后给别人调用,不是更好吗?

你这个同志真的有点回帖不看帖
我一早说了,重点在于
Java就算有必要也写不到Ruby这么简洁
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics