パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

非オブジェクト指向な「Javaプログラミング能力認定試験」」記事へのコメント

  • 私感だけど、
    オブジェクト指向というのは、再利用するライブラリを作成する場合は威力を発揮するのはよく分かる。
    しかし、再利用しない場合は不要だし、多人数で開発する場合は他人とのインタフェース部分だけオブジェクト指向的にすれば十分だと思う。
    他人に見せない内部まで生真面目にオブジェクト指向で作ったら、むしろコードサイズが大きくなり。処理が分散することで、かえって可読性が落ちる。

    • by Anonymous Coward
      私感ですが、オブジェクト指向が便利なところは、再利用性ばかりじゃないと思います。
      たとえば、変数のスコープといいますか、影響範囲を明確にすることができますし、何らかの共有変数を包みこんでやることで、想定外の変更を防止することも容易になります(Singletonとかですね)。大規模開発の現場では、えてして他チームの内部用変数を操作しようとするPGが現れたりするものなので、そういう問題に対する防御策にもなります。
      また、クラスを引数に取ることは、状態と操作とをセットにして受け渡せることを意味するので、簡素なコードで柔軟な表現が可能になります(Strategyとかですね)。
      • 他人に見せる部分はしっかりとオブジェクト指向的に作らなければならないと思いますよ。だから、見せる必要のない変数はちゃんとprivateにして不正な操作から防止しなけりゃならなりません。

        一方、他人に見せない部分というのは、逆に言うと、自分が把握できている部分です。この部分では、そこまで厳密に防御する必要は無いと思います。スコープの管理にしても、たとえばメソッド内の自動変数とクラス変数の使い分けでかなりの規模まで対処できると思いますが。

        • Re: (スコア:2, すばらしい洞察)

          ここでいう「他人」は数ヶ月後(場合によっては数日後)の自分を含みますよね? ね?

          • ここでいう他人とは、作成したクラスを使う人のことなので、自分を含まないこともありえます。私は可読性を犠牲にして良いとは書いておりません。オブジェクト指向の方が可読性が落ちる場合があるのではないかと書いております。

            将来の変更に備えるのならば、コメントをしっかり書けば良いと思います。内部までオブジェクト指向にする必要は無いと思います。

日本発のオープンソースソフトウェアは42件 -- ある官僚

処理中...