狠狠撸

狠狠撸Share a Scribd company logo
Rubyにおける
Clean Code戦略


   2011/04/10
  大江戸搁耻产测会议
赤松 祐希(@ukstudio)
フリーのRubyプログラマ

     http://ukstudio.jp
 y.akamatsu@ukstudio.jp
どうしてこうなった
“しかし、ディルバートよ、间违っている
      のは、我々の星回りではなく、我々自身
      なのです。”

      “あなたがそれに負けない熱意を持っ
      てコードを守ればよいのです。”




Clean Code P.30
戦略



http://www.flickr.com/photos/calliope/2313727442/
もしまだやってないのなら...




   テスト駆動開発
   リファクタリング
 継続的インテグレーション
汚れたコード



http://www.flickr.com/photos/creative_tools/4353923698
20%
 リファクタリング
组み合わせる

      ストーリー



          リファクタ




http://www.flickr.com/photos/picken/3312949360/
細目にクリーンにする




http://www.flickr.com/photos/picken/3312949360/
“ボーイスカウトには大切なルールがあ
   ります。それは、「来た時よりも美しく」
   です。たとえ自分が来た時にキャンプ場
   が汚くなっていたとしても、そしてたとえ
   汚したのが自分ではなかったとしても、
   きれいにしてからその場を去る、という
   ルールです。”
プログラマの知るべき97のこと P.17
S.O.L.I.D原則

 SRP       OCP         LSP
単一責任     オープン?クローズド   リスコフの置換




 ISP        DIP
依存関係逆転   インターフェース分離
単一责任の原则
変更理由 = 役割?責務
鲍蝉别谤クラス

    バリデーション
    認証              権限に
                   関する修正
    権限




バリデーションに    認証に
 関する修正     関する修正
mixin
Validate::User
鲍蝉别谤クラス           モジュール



                 バリデーションに
                  関する修正

Authentication
 モジュール           Roleモジュール



    認証に              権限に
   関する修正            関する修正
オープン?クローズド原則



http://www.flickr.com/photos/stevensnodgrass/4460594204/
http://www.flickr.com/photos/seanfx/5092676658/
ダックタイピング
ブロック
Rubyらしい設計



http://www.ruby-assn.org/ruby-logo.html.ja
文化




                                                  スキル


http://www.flickr.com/photos/usgo55/2885049548/
http://www.flickr.com/photos/hawee/2194569264/
议论しよう

More Related Content

大江戸搁耻产测会议