OO的な設計からOOPLの必然性はどこから出てくるの?
おれはOOは別に否定しないがこれに関しては疑問。
当然のように考えてる人が多いからちょっと萎える。

あとOOPLでプログラミングしたときはコメントに、
メソッドに「何をする処理」というコメントの他に
クラスやインターフェイスに「何をするためのクラス」と
クラスを作ったその意義を書き込んで欲しい。
必要であるということは理由があることだからそれを的確に。
下手なクラス設計だろうがその意義を書き込んでくれれば、
あとから見たものが理解するのに役立つ。
追加のコメントにはその逸脱具合を書いて欲しい。
大事なことは最初のコメントは消してはいけないということ。

ちなみにJavaのライブラリは整理されてて名前見るだけで
だいたい推測できるからいいと思う。あれをすんなり使えない
人はC++のライブラリを直ぐに使わなくてはいけない状況を
知らない、ある意味、幸せもの。