プログラム理解支援パターン

 ソフトウェアシステムにおいて,実際に稼働している実体はプログラムである.このため,ソフトウェア進化を実現する際に,プログラムが唯一信用できる成果物と考える開発者や保守者は多い.また,実際の保守現場では,プログラムしかないという状況や,過去の変更が要求仕様書や設計仕様書に反映されていないという状況が頻繁に発生している.

 このような状況において,既存のソフトウェアシステムを改変するためには,実際に稼働しているプログラムを理解することが不可欠である.特に,リバースエンジニアリングにより,プログラムコードを解析することで,プログラム理解に役立つ情報を抽出することができる可能性が高い.このような観点から,OORP[7]の2〜5章では,全部で20個のリエンジニアリングパターンが紹介されている(OORP パターン2.1〜2.7,3.1〜3.5,4.1〜4.3,5.1〜5.5).

 ここでは,OORPのリバースエンジニアリングパターンを補足する形で,プログラム理解に焦点を当てた3つのパターンを紹介する.

 このような状況を受け,ここでは, ソフトウェア変更を支援する5つのパターンを紹介する.

パターン 5.1

テストとモジュールの対応関係を作成しよう
Create a Mapping between Tests and Modules

既存のモジュールの利用法を理解したい.

問題

解法

トレードオフ

-利点

-欠点

パターン 5.2

マイクロブログを活用しよう
Exploit Micro-Blogging

ソフトウェア改変において,設計意図を有効に活用したい.

問題

解法

トレードオフ

-利点

-欠点

実例

 GitHubなどのソーシャルコーディング環境では,コミットやコミットされたコードにコメントを付与することができる.

関連するパターン

 ソースコードの位置を指定したコメントが有用な場合,コードに付箋を付けよう (パターン5.3)の利用を検討せよ.

パターン 5.3

コードに付箋を付けよう
Attach Post-it notes to Code

ソースコードに一時的な情報を残したい.

問題

解法

トレードオフ

-利点

-欠点

関連するパターン

 本パターンは,コードと疑問を結びつけよう / Tie Code and Questions (OORP パターン5.1)の具体的な実現方法のひとつである.


参考文献
パターン集のトップへ戻る ページのトップへ戻る