タグ

ブックマーク / dodemoyoiblog.blogspot.com (2)

  • コードの重複を排除するのもほどほどに!

    コードの重複を排除する、ということは良いコードを書くための指針として昔から言われている。全く同じ構造のコードを1000行にわたって繰り返すことがばかげていることは誰にだってわかる。ruby はそのようなコードの重複を排除することに優れた言語だと思う。メタプログラミングを工夫することでかなり重複を排除することができる。 例えば def opened? self.state == "opened" end def closed? self.state == "closed" end def waiting? self.state == "waiting" end のようなコードもメタプログラミングを使えば %w(opened closed waiting).each do |name| define_method "#{name}?" do self.state.to_s == name en

    moronbee
    moronbee 2013/07/30
    "わかりやすい名前をつけることができるメソッドの切り出し方にしよう、というのが本来あるべき姿のはずだ"
  • DCI (data context interaction)

    DCI アーキテクチャという設計についての考え方がある。数年前から scala 界隈で盛り上がっていた記憶があるが、最近は ruby/rails 界隈でも盛り上がっている模様。 先日の札幌 ruby 会議で角谷氏が発表を行っている。 rubykaigi  http://sapporo.rubykaigi.org/2012/ja/schedule/details/79.html スライド    http://kakutani.com/20120916.html#p01 そこからたどって以下のような資料があるのも発見した。 objects on rails (書籍の無料公開) http://objectsonrails.com/ Clean Ruby http://clean-ruby.com/ 書籍サイト。ベータ版書籍が購入可能。$42なので電子書籍にしてはかなり高い。 DCIの講演 tog

  • 1