タグ

OOPに関するel-condorのブックマーク (3)

  • オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena

    「オブジェクト指向するとプログラムが読めなくなるから禁止」のような話は昔からあって、新しい技術についてこれない人を揶揄するようなニュアンスで使われていましたが、実際にはこれはオブジェクト指向迷路にうんざりした現場での率直な意見だと思います。 オブジェクト指向は、まじめにやるほどプログラムを読みにくくするという性質をもっています。 ※ 使い方次第というコメントついてますが、だからこそちゃんと性質をしっておく必要があると思います。 オブジェクト指向の代表的な指針を3つあげると次のようなものがあります。 オブジェクト同士の連携としてプログラムを組む 単一責務の原則 インタフェースと実装の分離 まず、オブジェクト同士の連携でプログラムを組むと、コードが飛びまくって追いにくくなります。そして単一責務の原則により、小さいクラスが大量に生成されて、追いにくさがさらにあがっていきます。 ダイクストラ先生が

    オブジェクト指向はコードを複雑に読みにくくする - きしだのHatena
    el-condor
    el-condor 2023/02/25
    コードの可読性では、責務分割が適切なOOPコード>>長大トランザクションスクリプト>責務分割が不適切なOOPコード、ただし実際問題として「適切な責務分割」はそんなに簡単ではないよね、というのはまあそうかなあ。
  • オブジェクト指向とは何ですか?

    回答 (8件中の1件目) 英語では「object-oriented」で「OO」と略され、1960~1980年代のプログラミング手法(OOP)から始まり、その応用としてソフトウエアの設計・分析の手法(OOD/OOA)、近年はユーザーインターフェース・エクスペリエンスのデザイン(OOUI/OOUX)、オブジェクト指向存在論(OOO)なる哲学分野にまで、広く使われる用語です。ここではOOPについて説明を試みます。 オブジェクト指向の「オブジェクト」は、1967年に発表されたSimula 67 [1] というプログラミング言語に組み込まれた当時としては新しい同名の言語機能(あるいはそれに準ずる...

    オブジェクト指向とは何ですか?
    el-condor
    el-condor 2019/02/21
    これは解りやすい/メッセージ試行OOに決定の遅延が本質的に含まれるというのは不勉強で知らなかった/sumim氏の回答だけ読んでおけば良さげ/しかしここまで理解すべきなのは中級者クラスかなという気もせんでもない
  • Say no to chained scopes!

    In a Ruby on Rails application, it’s not uncommon to encounter code which reaches deep into the internals and database schema of a model. class Person < ActiveRecord::Base enum gender: { male: 1, female: 2 } end class PeopleController < ApplicationController def index @people = Person.where(gender: Person.genders[:male]) .where('age >= 18') .where(right_handed: false) respond_to(:html) end end Thi

    el-condor
    el-condor 2015/06/25
    ActiveRecordのrelationを題材に、テストをフックにした、オブジェクト責務境界の話と読んだ。
  • 1