最近在读CRuby1.9的source code,感觉code写的很烂。
到不是我的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怎么会有集合的关系。
分享到:
相关推荐
Ruby元编程是编程领域中的一个高级技术,它允许程序员在运行时操纵语言的结构和行为。这本《Metaprogramming Ruby》书籍深入探讨了如何利用Ruby的特性进行元编程,帮助开发者提升代码的灵活性、可扩展性和复用性。源...
ruby 1.9.3 source code
本资源“Ruby Source Code”提供了一系列的Ruby源代码示例,旨在帮助学习者深入理解Ruby编程语言的核心概念和实践技巧。 1. **面向对象编程**:Ruby是完全的面向对象语言,所有数据都是对象,包括基本类型。了解...
《Programming Ruby》是著名的Ruby语言教程,英文版的书籍旨在为全球开发者提供深入理解Ruby编程语言的途径。这本书详尽地介绍了Ruby的语法、特性、类库以及编程实践,是学习和进阶Ruby编程的宝贵资源。源代码的提供...
源代码(Source Code)是计算机程序设计中的一个重要概念,它是指程序员用高级编程语言书写的、人类可读的文本形式的指令集合。这些指令描述了软件如何运行,以及如何处理各种输入、输出和数据交互。在计算机系统中...
this is a ruby project code
ruby part code of proj this is a sample of survey
ruby part code of proj this is a sample of survey
ruby part code of proj this is a sample of survey
ruby part code of proj this is a sample of survey
ruby part code of proj this is a sample of survey
ruby part code of proj this is a sample of survey
ruby part code of proj this is a sample of survey
sourcecode是一个小的Scala库,用于在运行时为您的程序提供通用的“源代码”上下文,类似于Python的__name__ ,C ++的__LINE__或Ruby的__FILE__ 。 例如,您可以通过()语法或通过隐式查询当前文件的文件名和行号: ...
### Ruby 教程《The Book of Ruby》知识点总结 #### 一、书籍基本信息 - **书名**:《The Book of Ruby》 - **作者**:Huw Collingbourne - **出版年份**:2011年 - **出版社**:No Starch Press - **ISBN-10**:1-...
Ruby Ruby Ruby Ruby Ruby Ruby
stdlib-doc is a RubyForge project that converts Ruby source code into this documentation you are looking at. It also tracks the status of the documentation effort; you can see some of that effort in ...
RubyDoc 是一个开源的源代码文档生成工具,它主要用于解析 Ruby 语言的代码,并自动生成易于阅读和理解的文档。这个项目虽然已经终止,但它的影响力依然存在,尤其是在早期的 Ruby 社区中,RubyDoc 曾是重要的文档...