构建高效的 Ruby 代码:短方法与运算符定义
1. 用短而聚焦的方法构建类
在软件开发中,尽管有大量关于软件架构的书籍、数不清的 UML 图以及冗长的设计会议,但构建软件归根结底还是要一个接一个地编写方法。那么,如何将类拆分成这些方法呢?Ruby 程序员倾向于编写非常短的方法,专注于解决单一问题,这样做不仅能发挥 Ruby 语言的优势,还能让整个应用更易于测试。
1.1 压缩规范示例
假设有一个任务,要将软件规范文本压缩成两个数组。第一个数组包含文本中的所有唯一单词,第二个数组包含每个单词在唯一单词数组中的索引。下面是实现该功能的代码演化过程:
- 第一版代码
class TextCompressor
attr_reader :unique, :index
def initialize( text )
@unique = []
@index = []
words = text.split
words.each do |word|
i = @unique.index( word )
if i
@index << i
else
@unique << word
@index << unique.size - 1
end
end
end
end
这个版本的代码能正常工作,但对于维护者来说,理解
超级会员免费看
订阅专栏 解锁全文
107

被折叠的 条评论
为什么被折叠?



