ruby -w
写安全的代码。- 避免使用哈希作为可选参数。这个方法是不是做太多事了?(对象初始器是本规则的例外)。
- 避免方法长于 10 行代码(LOC)。理想上,大部分的方法会小于 5 行。空行不算进 LOC 里。
- 避免参数列表长于三或四个参数。
- 如果你真的需要“全局”方法,把它们加到 Kernel 并设为私有的。
使用模块变量代替全局变量。
# 差 $foo_bar = 1 # 好 module Foo class << self attr_accessor :bar end end Foo.bar = 1
使用
OptionParser
来解析复杂的命令行选项及ruby -s
来处理琐碎的命令行选项。使用
Time.now
而不是Time.new
来获取系统时间。- 用函数式的方法编程,在有意义的情况下避免赋值 (mutation)。
- 不要改变参数,除非那是方法的目的。
- 避免超过三层的区块嵌套。
- 保持一致性。在理想的世界里,遵循这些准则。
- 使用常识。