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