読者です 読者をやめる 読者になる 読者になる

babie steps

作業療法記録

メソッドの引数リストが長くて複数行にまたがるとき

メソッドに限らず、ハッシュや配列のネストの時もなんだけどさぁー


これはキモイ。撲滅したい。

  map.resources(:accounts,
                :member => {
                  :suspend => :get,
                  :publish => :get,
                  :confirm => :put,
                },
                :collection => {
                  :update_state_and_publish => :put,
                  :confirm => :post,
                }
                )

メソッド名の長さによって2行目の始まる位置が変わるのがおかしい。今、何層目かわかりにくい。ハッシュや配列もこの書き方したら、横幅いくらあっても足りないよ?というか長いから複数行にした意味がなくなる。ダメ。


こうだろっ!!

  map.resources(
    :accounts,
    :member => {
      :suspend => :get,
      :publish => :get,
      :confirm => :put,
    },
    :collection => {
      :update_state_and_publish => :put,
      :confirm => :post,
    }
  )

美しい。


もし、ブロックだったらこんな風には書かないでしょ?

  method do |obj| obj.foo
                  obj.bar
                  obj.baz
         end

  method{obj.foo
         obj.bar
         obj.baz
        }