该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间: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一点关系都没有呢。 |
|
返回顶楼 | |
发表时间:2008-08-26
你怎么知道rails没有,比如没用工作流系统、没有图形开发库、没有应用建模框架、没有企业建模框架、没有权限资源管理框架,没有应用建模框架、没有消息框架?
|
|
返回顶楼 | |
发表时间:2008-08-26
ltian 写道 gigix 写道 ltian 写道 您能说明用rails 开发的系统用10万行,而别的语言,比如java就要用100万行吗?大型系统靠的是通用框架和组件来缩短代码行数,提高系统的稳定性和易维护性,而不是靠语言本身吧?
不信就算了。我没啥必要非说服你不可。 咱们讨论道理,不是谁要说说服谁的问题。我的观点是,大型系统开发方面,通用框架和平台的作用远远超出语言本身的作用。比如没用工作流系统、没有图形开发库、没有应用建模框架、没有企业建模框架、没有权限资源管理框架,没有应用建模框架、没有消息框架那么开发大型企业应用是很困难的。大型企业应用可不单单是人机界面多的问题。用rail开发人机界面可能比JSF或者其他JAVA的表现层技术要快捷些。但是这不能说明开发大型企业应用就占优势。当然我也不反对rails能开发大型应用,关键是你的团队有没有很多成熟的框架,如果仅仅是依靠语言本身,我觉得远远不够。 我同意。实际上比如我手上的这个Rails应用,做到大半年以后基本上就跟Rails关系不大了,做的都是自己的一套东西。比如Mingle,早就不是在做Rails应用了。 所以这个时候你更在乎语言的表达力。代码越少越容易维护。做到这种时候你才真正感觉到Ruby语言能给你带来多大的收益。 |
|
返回顶楼 | |
发表时间:2008-08-26
javaeye_003 写道 你怎么知道rails没有,比如没用工作流系统、没有图形开发库、没有应用建模框架、没有企业建模框架、没有权限资源管理框架,没有应用建模框架、没有消息框架?
对rails不熟悉 麻烦举些例子好么 |
|
返回顶楼 | |
发表时间:2008-08-26
ltian 写道 这样的代码我是反对的。级联太多,调试不好调。通过这样的代码来减少代码行,却牺牲了程序的可读性,我认为不可取。你的心情我能理解,但是这一行代码说不明不了问题。
你不理解 我可以在任何一个位置把它断开,抽取局部变量或者抽取方法 Ruby可以在需要的时候写得像Java一样规范 而Java在需要的时候也没办法写得像Ruby一样简洁 |
|
返回顶楼 | |
发表时间: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); |
|
返回顶楼 | |
发表时间:2008-08-26
ltian 写道 department.getChildDepartmentList().add(custom.getDepartment()==null?custom.getDepartment():new Department());
不是一样的长而且啰嗦吗? 你真的看了我写那行代码到底是在干什么吗? 回帖要先看帖。 |
|
返回顶楼 | |
发表时间:2008-08-26
呵呵
buf.append("1").append(2).append(true).insert(3, "4").toString() |
|
返回顶楼 | |
发表时间: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行。 |
|
返回顶楼 | |
发表时间:2008-08-26
ltian 写道 gigix 写道 ltian 写道 department.getChildDepartmentList().add(custom.getDepartment()==null?custom.getDepartment():new Department());
不是一样的长而且啰嗦吗? 你真的看了我写那行代码到底是在干什么吗? 回帖要先看帖。 我知道你想说你那行代码威力惊人,能实现很强大功能。但是我认为如果搞那么复杂的一行代码不如 将其打散封装成一个函数,给其一个非常易读的名字。然后给别人调用,不是更好吗? 你这个同志真的有点回帖不看帖 我一早说了,重点在于 Java就算有必要也写不到Ruby这么简洁 |
|
返回顶楼 | |