質問: オブジェクト指向(javaやC++等)におけるソース解析の観点をお聞かせ下さい。 前提)ドキュメントは一切ない状態です。 ex)ソースコードから設計図(UML図)を作成し、全体を見通せるようにする。
回答: 普段やってるのは、クラス毎にメンバーをリストアップすることです。 要はどんなキャラがあって、どんな状態で、どう振舞うか把握することです。 コードを利用するのであれば、パブリックしか見ません。 コードを改造するのであれば、プライベートまで見ます。 依存関係が酷い場合にだけ依存グラフを作ります。 オブジェクト指向の効果の一つは、全体を把握しなくても済むことである思います。 以上の解析で分からないコードはオブジェクト指向になってないと思います。 実際、JavaもC++もオブジェクト指向でないコードを書けるし、結構多いです。 個人としては、何指向でも構いません。色々混ざってる無指向が一番避けたいです。 コードさえ短ければ、指向に関係なくデバッガで追いかけたりします。 最終手段でもありますが、一部の機能しか使わなければ、この方もなかなか効率的です。 UMLの類も手詰まったら使いますが、コードの設計が汚ければ、図も汚いのがオチです。 オブジェクト指向に関しては、『作る人の見方』を見て初めて理解しました。 「要するに、オブジェクトとは何か」でまとめてる特徴を満たすコードであれば、 全体を見通すような大掛かりな解析はいりません。 ソースコードのみで、部分部分の理解さえできれば足りると思います。