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