netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2006-03-13 [長年日記] ▲
_ [読書] プレファクタリング(前半)を読んでみた ▲
とりあえず16章中,7章を読んでみた.
どのクラスにメソッドを配置するか,継承と委譲のどちらを使うか,命名をどうするかといった設計段階での色々な決定事項についての議論が紹介されている.契約による設計とか,XPとか,テスト駆動型開発とか,色々な人が言ってきたことをトピック別に整理している印象.
全部あくまで指針になっているのは,設計の良し悪しは明らかに良いもの,悪いものを除くと判断が難しいこと(関心事を分離しようとすると個々のクラスは単純になってもクラス数は増える),必ずしもすべての状況に適用できるとは限らないことなどに起因するらしい.
以下は,今まであまり聞いたことがなかった・考えてなかったことのメモ:
ユースケースの処理手順をさらに詳細化すると,クラスに対する一連のメソッド呼び出し(ワークケース)が出てくる.ワークケースが1つもないようなクラスは目的の無いクラスではないかと考えられる.また,理想的には各メソッドに個別にテストを実施するが,個別のメソッドがあまり意味を持たない場合やそこまで時間が取れない場合はワークケース単位でのテストにする.
一括したものを分割するより,分割したものを一括するほうが容易.AとBと書いてあれば,BをAに置換することができるが,逆は簡単にはいかない.異なる概念かもしれないものは,とりあえず分割しておいて,あとで同じものだと分かったらまとめてしまう.