netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2006-12-22 [長年日記] ▲
_ [論文] リファクタリングは複雑さを明確にする作業 ▲
Miguel Lopez, Naji Habra: Investigating Refactoring Impact through a Wider View of Software.
Proceedings of QAOOSE 2006, pp.101-108.[Workshop Site]
Document というエンティティの中に含まれていたファイル形式の扱い(PDFとかHTMLとか)を,条件分岐での扱いからクラス多態性での扱いに変更してやったら,プログラムの理解,変更やテストは容易になったのに,依存関係グラフの登場人物数は増えてしまい,辺の数も増えて,設計の複雑度は上がってしまった,という例を出しています.
リファクタリングというのは複雑さを減少させるのではなく,どこかのエンティティに隠れている複雑さを明らかにして,適切なエンティティへ分散させる作業である.そして,複雑さを明確に記述することが保守性に貢献しているのではないか,と指摘しています(保守性への貢献については今後検証が必要だとしています).
……というあたりが,リファクタリング関連で何か書きたいときに使えそうなんで,とりあえずメモしておきます.Proceedings はワークショップのサイトから取れます.