2013年11月23日土曜日

rubyコードの作法2

メソッドの引数の作法

悪いコード
def test_system(name, year, system)
  puts name
  puts year
  puts system
end

test_system("facebook", nil, nil)
少し良いコード
def test_system(name, year=nil, system=nil)
  puts name
  puts year
  puts system
end

test_system("facebook")
良いコード
def test_system(name, options={})
  puts name
  puts options[:year]
  puts options[:system]
end

test_system("facebook", system: "linux", year: 2004)

引数を配列として受け取る

悪いコード
def test1(*args)
  for arg in args
    puts arg 
  end 
end

test1(["a","b","c"])
良いコード
def test2(*args)
  for arg in args
    puts arg 
  end 
end

test2("a","b","c")

0 件のコメント: