* `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)。
* 不要改變參數,除非那是方法的目的。
* 避免超過三層的區塊嵌套。
* 保持一致性。在理想的世界里,遵循這些準則。
* 使用常識。