国土交通省環境行動計画 - MLIT · 都市公共交通政策フレームワーク バスを中心とする公共交通の振興による都市交通の グリーン化を推進
コード共通化
-
Upload
ryuhei-ishibashi -
Category
Documents
-
view
3.694 -
download
1
Transcript of コード共通化
コードの再利用について色々
13年3月28日木曜日
再利用の常識
DRY原則
オブジェクト指向
デザインパターン
自動テスト
13年3月28日木曜日
現実のプロジェクト
実装に関心が無いマネージャー・SE
初心者の寄せ集め
アーキテクト不在
リーダー不在
13年3月28日木曜日
継承?なにそれ。
重複を強制するルールや設計
巨大クラス、巨大メソッド
コピペの嵐
13年3月28日木曜日
整理すると
共通化の必要性は理解されている
共通化を行うことができるスキルはある
大人の事情により共通化が進まない
13年3月28日木曜日
orz
13年3月28日木曜日
メンバーの視点 自分のタスクを終わらせる責任がある。
共通化にはコストがかかる。
コードの縄張り意識
ルールが不明確、既存のソースと慣習が主なルール。ルールを決める権限は無い
提案すれば教育やメンテまでやらされる。
13年3月28日木曜日
独自実装が基本戦略になる
13年3月28日木曜日
対策
独自実装コスト > (利用コスト+作成コスト)
メンテフリー化
13年3月28日木曜日
コスト削減
決まった場所に作る。
ファサードを使う。
メンバー全員が共通部品を作る
どうやってもいい部分は適当に決めておく
あらかじめサンプルになるようなものを容易しておく
13年3月28日木曜日
メンテフリー化
適切な名付け
Javadoc(コメント)
テストクラス
小さいメソッド
バグ修正・機能追加は自由に。
13年3月28日木曜日
よくある構成例
DAO層
Service層
Web層
Utils
13年3月28日木曜日
まとめ
自然に回るような仕組み作りが大事
共通化を促進する仕組みを全員が理解して参加する
13年3月28日木曜日
参考資料
Code Craft
オブジェクト指向のこころ
パフォーマンス・マネジメント
マネジメント基本と原則
13年3月28日木曜日