其他


  • 总是开启 ruby -w 选项,以编写安全的代码。
    [link]


  • 避免使用哈希作为可选参数。这个方法是不是做太多事了?(对象构造器除外)
    [link]


  • 避免单个方法的长度超过 10 行(不计入空行)。理想上,大部分方法应当不超过 5 行。
    [link]


  • 避免参数列表数目多于三或四个。
    [link]


  • 如果你真的需要“全局”方法,将它们添加到 Kernel 并设为私有。
    [link]


  • 使用模块实例变量而不是全局变量。
    [link]

    1. # 差
    2. $foo_bar = 1
    3. # 好
    4. module Foo
    5. class << self
    6. attr_accessor :bar
    7. end
    8. end
    9. Foo.bar = 1

  • 使用 OptionParser 来解析复杂的命令行选项。使用 ruby -s 来处理琐碎的命令行选项。
    [link]


  • 使用 Time.now 而不是 Time.new 来获取当前的系统时间。
    [link]


  • 使用函数式思维编写程序,避免副作用。
    [link]


  • 不要修改参数值,除非那就是这个方法的作用。
    [link]


  • 避免使用三层以上的嵌套区块。
    [link]


  • 保持一致性。在理想的世界里,遵循这些准则。
    [link]


  • 使用常识。
    [link]