* `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)。 * 不要改变参数,除非那是方法的目的。 * 避免超过三层的区块嵌套。 * 保持一致性。在理想的世界里,遵循这些准则。 * 使用常识。