锁定老帖子 主题:Ruby的source code很难读
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-19
最后修改:2009-07-19
到不是我的C有多好,只是同时也在读Python的code。 对比之下有差距。 最明显的两点: 1。 Ruby的src基本没注释。 随便打开一个Ruby的src file,比如gc.c 或者 thread.c, 从头浏览到尾,没几行注释。 类似的,找个Python的src file看看,该有注释的地方都有。 2。 Ruby的命名混乱。 变量名,方法名很多时候让人莫名其妙。更糟糕的是误导。比如gc.c里面定义了heaps_used,从名字上看会给你一个印象--已经被使用了的heaps的大小。(这里的used本身就是很泛泛的词)其实看了具体的实现就会发现,这里的used是allocated的意思,就是通过malloc取得了实际的内存。 Ruby对内存管理部分的命名也很郁闷。最小的单位是slot, slot的数组称为heap, heap的数组称为heaps。 看看Python是怎么命名的吧--最小的单位是block,block的集合称为pool, pool的集合称为arena。这样避免了*heap*这个被滥用的词。而且单从字面意思上也能看出层次。 鄙人英文一般,不看src是死活品味不出slot和heap怎么会有集合的关系。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-07-19
不是你的问题,据说matz也承认很烂:)
语言设计上,我喜欢ruby。代码实现上,python比ruby强很多。 |
|
返回顶楼 | |
发表时间:2009-07-20
日本人公认英文烂的,不过方法、变量起名这些“小问题”对我们这些非原生英文母语的人来说是个头痛的问题。
|
|
返回顶楼 | |
发表时间:2009-07-20
我也是这么觉得的,看得云里雾里的。
|
|
返回顶楼 | |
发表时间:2009-07-20
rainchen 写道 日本人公认英文烂的,不过方法、变量起名这些“小问题”对我们这些非原生英文母语的人来说是个头痛的问题。
一般说日本人英语不好 指的是他们的口语不好. 实际上他们的词汇量是相当大, 因为很多日语词就是英语的简单音译... |
|
返回顶楼 | |
发表时间:2009-07-20
最后修改:2009-07-20
我不觉得,整个宏、数据结构、函数、变量的命名还是一致可读的
代码注释本来就是没有必要的 相反,对于CAPI部分,文档说明非常完整 |
|
返回顶楼 | |
发表时间:2009-07-20
yawl 写道 不是你的问题,据说matz也承认很烂:)
第一次听说,给个出处 |
|
返回顶楼 | |
发表时间:2009-07-21
potian 写道 yawl 写道 不是你的问题,据说matz也承认很烂:)
第一次听说,给个出处 2003 年 matz 做过一个讲演的幻灯片上有这个标题,但是跟代码烂好像是两回事,断章取义了。 http://www.rubyist.net/~matz/slides/rc2003/mgp00003.html http://www.rubyist.net/~matz/slides/rc2003/mgp00004.html 这是全部 PPT http://www.rubyist.net/~matz/slides/rc2003/index.html |
|
返回顶楼 | |
发表时间:2009-07-21
potian 写道 代码注释本来就是没有必要的 相反,对于CAPI部分,文档说明非常完整 “代码注释没有必要" 这种话还是很牛的。个人不敢苟同 CAPI的文档那是最低要求。 |
|
返回顶楼 | |
发表时间:2009-07-21
...代码注释本来就不必要的,汗
|
|
返回顶楼 | |