高橋さん・・・ディノという会社でWebアプリを作っている。 大中さん・・・通称せとあずさ。Working Effectively With Legacy Code読書会 会長、S2コミッタ。 中谷さん・・・サイボウズラボでiVocaとか。 川西さん・・・C、C++で開発。C言語用CSpec(そんなのあるんだ)等
レガシーコードとは?
- COBOLで書かれたコード→×
- WinNT4.0→×
- あの先輩から引き継いだコード→×
- 理解しづらい・変更しにくいコード。ではない。
- ずばり、テストのないコード、を指す
- コードでテストができないもの。
どうしたらよいのか?ということを考える
- レガシーから逃げない
- レガシーを作らない
- レガシーを作り込ませない
用語
- Edit&Pray
- 編集して祈る。頼むから動いてくれ。
- 現在の開発の主流(自分もそうです。。)
- Cover&Modify
- カバーして変更する
- 変更の正しさを確かめるテストを用意
実践レガシーコード
- コンストラクタが5個とかあるコードはどうやってテストする?
- とりあえず、全部null渡してテストしてみる→いらないやつがいるはず。。
- privateなプロパティの扱い方
- テストのためならリフレクションもいとわない。(自分も昔そうしてました)
- サーブレットコンテキストが業務クラスで呼ばれてる
- CharactariseTest(?)
- テストを通すより今あるコードの振る舞いをテストを通して追いかける。
本(Working Effectively With Legacy Code)について
- 目次にグチが並んでる
コミュニケーションとしてのレガシーコード
- 言葉で説明されてもよくわからない
- コードをコードで説明してやればいい。テストコード。
他にも川柳とか、とても楽しいセッションでした。 読書会楽しそう。
というか↓ほじぃ。。
Working Effectively With Legacy Code
posted with amazlet at 09.02.13
Michael C. Feathers
Prentice Hall
売り上げランキング: 11427
Prentice Hall
売り上げランキング: 11427
おすすめ度の平均:
設計が悪いシステムの保守でお悩みの方へ