总是开启 ruby -w
选项,以编写安全的代码。
[link]
避免使用哈希作为可选参数。这个方法是不是做太多事了?(对象构造器除外)
[link]
避免单个方法的长度超过 10 行(不计入空行)。理想上,大部分方法应当不超过 5 行。
[link]
避免参数列表数目多于三或四个。
[link]
如果你真的需要“全局”方法,将它们添加到 Kernel
并设为私有。
[link]
使用模块实例变量而不是全局变量。
[link]
# 差
$foo_bar = 1
# 好
module Foo
class << self
attr_accessor :bar
end
end
Foo.bar = 1
使用 OptionParser
来解析复杂的命令行选项。使用 ruby -s
来处理琐碎的命令行选项。
[link]
使用 Time.now
而不是 Time.new
来获取当前的系统时间。
[link]
使用函数式思维编写程序,避免副作用。
[link]
不要修改参数值,除非那就是这个方法的作用。
[link]
避免使用三层以上的嵌套区块。
[link]
保持一致性。在理想的世界里,遵循这些准则。
[link]
使用常识。
[link]