11、构建高效的 Ruby 代码:短方法与运算符定义

构建高效的 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

这个版本的代码能正常工作,但对于维护者来说,理解

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值