江戸川区人口ビジョン · 2018-10-09 · 2 Ⅱ.江戸川区の人口の現状 1. 人口推移 (1) 概況 江戸川区の2010 年(平成22 年)国勢調査人口は約67
大江戸Ruby会議
-
Upload
yuki-akamatsu -
Category
Technology
-
view
3.825 -
download
2
description
Transcript of 大江戸Ruby会議
RubyにおけるClean Code戦略
2011/04/10大江戸Ruby会議
赤松 祐希(@ukstudio)フリーのRubyプログラマ
http://[email protected]
どうしてこうなった
“しかし、ディルバートよ、間違っているのは、我々の星回りではなく、我々自身なのです。”
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
単一責任 オープン・クローズド リスコフの置換オープン・クローズド
依存関係逆転
リスコフの置換
インターフェース分離
単一責任の原則
変更理由 = 役割・責務
Userクラス
バリデーション認証権限
バリデーションに関する修正
認証に関する修正
権限に関する修正
mixin
Userクラス
バリデーションに関する修正
認証に関する修正
権限に関する修正
Authenticationモジュール
Validate::Userモジュール
Roleモジュール
http://www.flickr.com/photos/seanfx/5092676658/
http://www.flickr.com/photos/stevensnodgrass/4460594204/
オープン・クローズド原則
ダックタイピング
ブロック
http://www.flickr.com/photos/hawee/2194569264/
http://www.flickr.com/photos/usgo55/2885049548/
文化
スキル
議論しよう