オブジェクト指向ってクソじゃねぇよ? Part2

■ このスレッドは過去ログ倉庫に格納されています
2018/10/18(木) 23:20:41.34ID:/ofNkRJS
すごいんだよ?


カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。

偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。

一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。

オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。

https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96

前スレ オブジェクト指向ってクソじゃね?
https://mevius.5ch.net/test/read.cgi/tech/1535085129/
2018/10/27(土) 11:11:10.55ID:2OuJiKuO
なんだよクリーンな構造って何が聞きたいんだ
2018/10/27(土) 11:11:37.47ID:4RrrP6U6
>>300に自己レス

どうせ消え去りそうだからw

> 手続き型ならどうやるのよ?これ重要なところだから
> 考えてみなさい(できれば答えてみなさい。)

これどういう意味かというと、

イベント(トリガー)が主体となる処理をDBでやる場合
  RDBの機能で行う・・・手続き型
  OODBの機能で行う・・・オブジェクト指向
ってことで、手続きもオブジェクト指向もどちらもあり得るんだよ

で、トリガーが主体となる処理を、アプリ側で行う場合、
  手続き型・・・どうやるの?(できません)
  オブジェクト指向・・・どうやるの?(できません)
ってことで、手続き型でもできないってことなんだよ。
手続き型でもクリーンな実装は思いつかない

ようするに>>293が卑怯(あえて卑怯という言葉を使うw)なのは
アプリ側でできない処理を手続き型ならDBで実装して
オブジェクト指向では、DBで実装してはいけないと言ってること
オブジェクト指向でも、DBで実装すりゃいいじゃん。
どうせそこでしかできない処理なんでしょ? 

それがアプリ側でオブジェクト指向使うのと何の関係があるの?
レイヤーが違うでしょという話
2018/10/27(土) 11:14:08.89ID:4RrrP6U6
>>304
> 単にメモリ管理や文字列などが分かりやすいだけだわ、俺の場合

俺の場合、フレームワークが使いやすいだけ

だけどそのフレームワークでオブジェクト指向が使われてる
なぜか?オブジェクト指向が作りやすいからだろう

オブジェクト指向っていうのはフレームワークを
作るためのものと言っても過言じゃないよ

直接オブジェクト指向を使ってなくても、
その使いやすい環境(フレームワーク)が作れるのは
オブジェクト指向だから
308デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:16:59.64ID:S4VvuAVS
低学歴知恵遅れが設計するようなデータ構造では
なにを使おうがゴミにしかならない

透明なゴミ袋になるか中身がみえないゴミ袋になるかの違いしかない
詰まってるものは同じゴミ
2018/10/27(土) 11:20:09.47ID:ZWpnR1MN
結局のところ
OOPは万能ではなく苦手な分野もある
業務の多くはOOPの苦手な分野とかぶっている
ということなんでしょうか
OOPはリソースの扱いと相性がいいですが
業務はOOPと相性が悪いイベントのほうが圧倒的に多いんですよね
2018/10/27(土) 11:21:34.94ID:4RrrP6U6
そりゃ、万能なものはなにもないんだから、
手続き型もオブジェクト指向も苦手な分野はある

> 業務の多くはOOPの苦手な分野とかぶっている
そんなことは一言も言ってない

> 業務はOOPと相性が悪いイベントのほうが圧倒的に多いんですよね
全然そんなことはない。
単にお前の「業務」がそうってだけだろう
2018/10/27(土) 11:32:14.75ID:dWq9Hx8p
イベント駆動に相性がいいからGUIに多様されてるんだろ?

DBMSのイベント駆動ならOracleに閉じた世界でもできるけど、流行らないだけ
2018/10/27(土) 11:33:44.31ID:io741/EL
イベントドリブンとオブジェクト指向は相性良いじゃん
2018/10/27(土) 11:35:53.89ID:4RrrP6U6
>>312
今の話は、DB側への操作によるトリガーを
どうやってアプリ側に伝えるかという話で
それは手続き型でも難しい事で全く関係ない話だけどねw
2018/10/27(土) 11:36:14.62ID:ZWpnR1MN
>>310
事実ですよ
業務システムの大部分は事実の正確な記録を重視します
つまり何がおこったのかという記録==イベントの記録ですね
315デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:38:48.36ID:S4VvuAVS
そんなもんイベントが発生するたびに
DBなら特定のログ(履歴)テーブルに書き込む(記録する)だけでおしまい

しょうもない

さすが低学歴知恵遅れ。。。
316デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:39:30.23ID:7e4UH6L0
OOPがクソなら
何ならクソじゃないの?
317デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:40:46.36ID:S4VvuAVS
もしかして低学歴知恵遅れが作ったシステムでは
あちこちのテーブルにユーザーの客の行動履歴みたいなもん保存してんの?

あったまわるう。。。
2018/10/27(土) 11:40:54.05ID:4RrrP6U6
>>314
ようするに「データの保存」のことを
語ってるだけですよねw

> つまり何がおこったのかという記録==イベントの記録ですね
DBのトリガーのことをイベントといっていたかと思えば
今度はデータの保存のことをイベントというのですか

そうやっていろんなことをごちゃまぜにして考えるから
お前はいつになっても理解できないんやで
319デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:45:23.16ID:S4VvuAVS
まずそんな作りになってたら
データ分析にすらまともに使えない

低学歴知恵遅れがシステム作ると
データを分析するデータを作るのも大変になるのがよく分かったわ
2018/10/27(土) 11:45:57.00ID:zMT6Eu0F
半角さん、いよいよレスも返してもらえなくなったんだw
2018/10/27(土) 11:49:41.89ID:zMT6Eu0F
半角さんは職歴の事語らないけど、多分ド底辺四次受けとかなんだろうな。
それぐらいの知識も無いんだけど。
322デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:52:35.80ID:S4VvuAVS
この板にいるような低学歴知恵遅れが作ったOODBなんかで保存された日には
まずデータ分析で使えるシロモノになってないことは断言できる

つまり業務システムとして動いてるようにみえてれば
なんでもいいという世界で間違いない

RDBなら致命傷にならずにまだなんとかなる
323デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:54:28.54ID:p3Z91K38
なぜオブジェクト指向で作るのかって本ではジャンケンゲームの例があったな。
CPUvsユーザーの2人(?)版を作って、それを3人4人と増やしたい時、オブジェクト指向の方がコード修正しやすいみたいな。

その時はそうかと思ったけど、後から考えたら別に構造化プログラミングでもそんなに修正しないで済んだ。

パッと浮かびにくいとか、そういう問題だったのかも?とは思いもするが、オブジェクト指向の例を先に見せられたからかもだし、うーん。。。
2018/10/27(土) 11:55:43.66ID:CO70PLsl
なぜみんな華麗にスルーしてるのに、以下略
325デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:56:33.10ID:S4VvuAVS
低学歴知恵遅れたちに図星のレスだからな
2018/10/27(土) 11:57:29.94ID:CO70PLsl
>>323
マルチインスタンスのメリット説ね。

実は全然ありがたくないというのに気づくのけっこうかかったわ
327デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:57:38.61ID:S4VvuAVS
まずオブジェクト指向も構造化プログラミングも
どっちもまともに理解できてないのが
知ったかでテキトーに書いてんのがバレバレなワケ
328デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:59:11.11ID:ZWpnR1MN
>>318
私は最初からイベントをデータとして認識してレスしてますよ
リソースとイベントを意識してテーブルを構成するのは基本中の基本なのであえて説明してから議論するまでもないと思っていましたが
まさかこの文脈でイベントドリブンのイベントと勘違いする人がいるとは予想外でした
329デフォルトの名無しさん
垢版 |
2018/10/27(土) 12:04:16.63ID:S4VvuAVS
低学歴知恵遅れは目の前の作業しかみえないからな
その作業でなにをしてるかという感覚すらないからな

動けばいい
それだけだ
2018/10/27(土) 12:10:26.26ID:dWq9Hx8p
>>328
レコードの更新をハンドリングすることと同じじゃね?

イベントドリブンBeanとDAOを連携させる試みは流行らなかったけど
331デフォルトの名無しさん
垢版 |
2018/10/27(土) 12:11:57.18ID:S4VvuAVS
それぜんぜん違う
やばいわ

DBトリガーの意味すら分かってない

マジで低学歴知恵遅れしかいない
2018/10/27(土) 12:12:13.85ID:RkY7jvte
頭の悪い人が何か勘違いしてオブジェクト指向を使った
変なコードを書いていることがよくあるという意味では
半角と同意だな
2018/10/27(土) 12:13:14.82ID:RkY7jvte
>>332
ただし、それに半角も含まれているけど
334デフォルトの名無しさん
垢版 |
2018/10/27(土) 12:14:10.46ID:S4VvuAVS
この板では
基本的なことが分かってないようなのがドヤ顔でレスしてるワケ

珍妙なコードができあがるのも必然
2018/10/27(土) 12:16:13.04ID:RkY7jvte
>>334
にわかオブジェクト指向厨は
べつにこの板に限らず世に広く
ナンセンスなことを言う人が多いよ
半角様も含めてね
336デフォルトの名無しさん
垢版 |
2018/10/27(土) 12:22:16.77ID:S4VvuAVS
むしろオレレベルでないとオブジェクト指向はムリ

なんどもいうが
低学歴知恵遅れとオブジェクト指向は
キチガイに刃物
2018/10/27(土) 12:23:55.10ID:RkY7jvte
そうかもしれないが
ブーメランが突き刺さってるぜ
338デフォルトの名無しさん
垢版 |
2018/10/27(土) 12:28:48.03ID:S4VvuAVS
残念なことにまともな教育を受けてれば
低学歴かどうかなんかレスからすぐに分かってしまう

低学歴なうえに著しく知能が低い
その自覚がない
そして自己評価だけは高い

つまりこの板の低学歴知恵遅れは救いようがない
2018/10/27(土) 12:30:17.69ID:4RrrP6U6
>>328
> 私は最初からイベントをデータとして認識してレスしてますよ

誰も「お前がイベントをデータとして認識してない」なんて
言ってないんだが? あたま大丈夫か?文章読めるか?

お前は、
DBのトリガーのことを "イベント" といってたのに
データの保存のことを "イベント" と言い出した
そういうことを俺は言った

なんで俺が言ってないことに、話すりかえてんの?
2018/10/27(土) 12:30:54.71ID:RkY7jvte
>>39
って良書?
もしかしたら昔原書を買ったまま本棚に積読してあるかもだけど、
良書なら暇があったらめくってみようかなって気になった。

やっぱオブジェクト指向を使ったソフトウエアの表現て、
実践の場では意外と難しい局面があって煩わされることもしばしばで、
方法の模索が続いて終らない
2018/10/27(土) 12:31:46.92ID:4RrrP6U6
ID:ZWpnR1MN ってまともに話しているふりして
ただのアンチだろうなw

でなければ、こうも関係ない話にすり替えたりしない
2018/10/27(土) 12:38:42.17ID:io741/EL
>>328
で結局何の話したいの?
そのクリーンな実装とやらのアーキテクチャの話?
2018/10/27(土) 12:39:08.49ID:2OuJiKuO
何かをトリガーに何かしたいなら関数オブジェクトなりデリゲートなりなんなりぶちこんで何か起きたら呼べ
そんなんオブジェクト指向だろうが関数型だろうか変わらん
2018/10/27(土) 12:45:49.91ID:RkY7jvte
>>340
本棚の奥から
蒼い表紙に眼鏡をかけたカモノハシが見得のポーズを切って卵を守っている絵の
An Introduction to Object-Oriented Programming
Timothy Budd
が発掘できたぜよ。でも1991年のfirst editionだた…orz

羽部さんの訳ってどうよ?
良ければ3rd Editionの訳を書店で眺めてみるけど。
2018/10/27(土) 12:56:30.18ID:4RrrP6U6
>>343
でもなぁ、こいつが言っていたイベントはRDBのトリガーで
(途中でイベントの意味を変えてきやがったがw)

RDBのトリガーの内容をアプリ側から知るのは(オブジェクト指向じゃなくても)
手続き型言語で知るのは難しいぜ。RDBにそういう機能はないからな
346デフォルトの名無しさん
垢版 |
2018/10/27(土) 12:58:23.60ID:S4VvuAVS
オレは書籍の内容について批評はしない
確かなことは書籍は読む人間を選ぶとことになる

頭ワルイのがいくら本読んでもムダだからな
なにが書いてあるかを理解するのは自分自身だからな
2018/10/27(土) 13:03:02.03ID:E4+ZR5KW
T字型ERデータベース知らん人って思ったより居るんだね
オブジェクト指向の最大の弱点は学んだ人がオブジェクト指向は銀の弾丸だと勘違いして他のテクノロジをおろそかにしてしまうことだな
2018/10/27(土) 13:03:20.83ID:RkY7jvte
>>346
訳は上手いか聞いたんだよ。日本語OK?

first editionをぱらぱらめくってみたけどほとんど基本的な内容だった。
Chapter 15のVisibiility and dependenmcyは80年代後半の
ソフトウエア工学の話題とOOPの関連性が書いてあって多少面白そう
349デフォルトの名無しさん
垢版 |
2018/10/27(土) 13:08:02.52ID:S4VvuAVS
日本語は知らない
2018/10/27(土) 13:10:51.56ID:RkY7jvte
正直でよろしい。

3rd ed訳を立ち読みしてみようかと思ったが
そのへんの店舗では扱っているところが少なそうだな…
2018/10/27(土) 13:16:03.98ID:RkY7jvte
訳は2002年の2nd edまでなんだな、しかも¥4,723 て
ぼるなあ
352デフォルトの名無しさん
垢版 |
2018/10/27(土) 13:28:14.73ID:KIIskOQo
チンポがシコシコするぜ!
2018/10/27(土) 13:40:33.66ID:CO70PLsl
半角さんとちんぽさんはコテ付けてくれよ
2018/10/27(土) 14:06:02.77ID:zMT6Eu0F
低スペだからコテなんか付けれないだろw
2018/10/27(土) 14:20:55.23ID:COSIUYbm
ハイ、ここまでオブジェクト指向のメリットなしのクズ男
356デフォルトの名無しさん
垢版 |
2018/10/27(土) 14:22:11.98ID:+tHchtmr
おつかれさまでした
357デフォルトの名無しさん
垢版 |
2018/10/27(土) 15:42:15.57ID:7e4UH6L0
半角さんの言うことは正しいよ

> 低学歴なうえに著しく知能が低い
> その自覚がない
> そして自己評価だけは高い

その場にいるほかのメンツの力量判断できないから
一人だけ調子に乗ってしょーもないことを得意げに演説
一人だけ周回遅れの子ってのは滑稽であり悲しくもある
自分が賢いかのような口調で演説するからいたたまれない
2018/10/27(土) 16:05:14.75ID:+tHchtmr
なるほど、おつでーす
2018/10/27(土) 17:49:04.63ID:RkY7jvte
>>357
「頭の悪い人はバカ」って、何の話してんだよ、
オブジェクト指向がクソか どうかだろ
そういうのを頭が悪いと言うんだよ
2018/10/27(土) 19:23:43.65ID:FFMC2/bw
第三回バーチャルYouTuber人気投票リベンジ募集中(全287名、2018年10月27日〜)

あなたの好きなVtuberは?(一人十票)
https://script.google.com/macros/s/AKfycbzW_Er5wP6kI0ZNcmcZVA4UdlXPiernQqL4xG1dVv146T8LwGKZ/exec

・前回(2018/8/22)は不正投票が行われた為、投票を途中で中止させていただきました。大変申し訳ありませんでした。
・Googleフォームは標準仕様では不正投票が可能な為、改造して対策を行いました。
・2018/10/27時点でチャンネル登録数10,000人以上のVtuberを対象としています。
・一つのチャンネルでVtuberが複数人いる場合は、それぞれ分けています。
・一人十票です。(全287名の中からお好きなVtuber10名を選んでください。)
・このフォームに投票するにはグーグルアカウントでログインする必要はありません。
・並び順は前回の得票数の高い順と新人は登録者数の多い順に並んでいます。
・今回も1,000人の方が投票するまで継続します。

なお投票結果はスプレッドシートにリアルタイムで表示されるようにしました。
また【概要】と【詳細】でシートを分けております。
https://docs.google.com/spreadsheets/d/1qvhqRdbbOFGQ2veqrnQmaAXIA79xTAANKUKa3HEUUC0

▽過去の投票結果はこちら

第二回バーチャルYouTuber人気投票結果(2018年6月5日〜8月6日、全投票数1,000票)(スプレッドシート)
https://docs.google.com/spreadsheets/d/1HqVp41DzLXPSuarWKkqNFZRyL20-nkMF5O5kkeEmqnA

第一回バーチャルYouTuber人気投票結果(2018年5月7日〜5月30日、全投票数1,000票)(スプレッドシート)
https://docs.google.com/spreadsheets/d/1uaKoB3pJQHgC9VEkvg74v9OaSNW3Zvccr91mPN1lt5k
2018/10/27(土) 20:09:40.96ID:if75aWaZ
ここまでオブジェクト指向のメリットも挙げられないクズ
早く死んで欲しい
2018/10/27(土) 20:12:26.50ID:9XazvJsa
バグコードを内包するクラスを多重継承させてたりしたら結局何のためのカプセル化なんですかって話になるんだよね
2018/10/27(土) 20:18:12.71ID:Eqi8BIlY
多重継承するバカ発見
2018/10/27(土) 20:21:12.23ID:4RrrP6U6
>>362
それバグを内包するクラスが悪いって話ですか?多重継承は関係なく
2018/10/27(土) 20:32:22.95ID:8vLGwI12
まぁ一人で作ってるわけじゃなくて何十人も絡むプロジェクトだと「どのモジュールが悪いのか」って
切り分けは必要だから仕方ないんだけど効率悪いよね
2018/10/27(土) 21:06:19.63ID:9XazvJsa
>>364
継承を通じてバグコードの影響が複雑に伝染することや、多重継承によってクラス間の依存度が高まることでデバッグが難しくなってしまうのが問題の本質なんだから、純粋に多重継承の問題だよ
2018/10/27(土) 21:08:20.34ID:4RrrP6U6
>>366
でもバグがなければ、何も問題ないですよね?

えと、バグが無いという前提で、
何が問題かを語ってくれませんか?

どうもバグに話をすり替えているようにしか見えませんから
2018/10/27(土) 21:16:06.32ID:9XazvJsa
>>367
そもそもバグコード生成や不具合発生が避けられないものであるという前提で話が出来ないのかな?
2018/10/27(土) 21:51:44.06ID:r8YaGOoY
デバッグが困難になる(特に>>366みたいなアホには)って言うのはまあわかるとして
> 結局何のためのカプセル化なんですか
にどうやって繋げるつもりなんだ? w
2018/10/27(土) 21:54:09.25ID:JpRu0mgz
>>242
今ニュース系サイトで見たんだけど
そこ炎上してたんだwww
371デフォルトの名無しさん
垢版 |
2018/10/27(土) 22:13:20.04ID:p3Z91K38
どっちもどっち。
大元のクラスライブラリにバグがある事もあるし、100%バグの無いコードは事実上不可能だから、バグが無い前提は流石にあかん。
然りとてバグコード含んだクラスを継承というのも行き過ぎで、十分なデバッグやテストを通してから継承するもの。

理想と現実の狭間で最善尽くすだけ。
上でも何度も言われてるが、オブジェクト指向は銀の弾丸では無い。
2018/10/27(土) 22:33:52.71ID:7e4UH6L0
>>371
みたいなしょーもないシッタカ意見を排除することからはじめたい
2018/10/27(土) 22:37:37.79ID:Eqi8BIlY
>十分なデバッグやテストを通してから継承するもの
?????????????????????????????
2018/10/28(日) 01:14:01.05ID:qArEjd5e
そもそも関数で組んでれば依存がないものを
メソッドにすることでメソッド同士でメンバ変数を共有することになるのだが
これはいいことなのか?
2018/10/28(日) 02:00:49.16ID:PnJQ4LJT
>>368
> そもそもバグコード生成や不具合発生が避けられないものであるという前提で話が出来ないのかな?

はい。だから問題はバグってことですね
2018/10/28(日) 02:01:43.41ID:PnJQ4LJT
>>371
> 上でも何度も言われてるが、オブジェクト指向は銀の弾丸では無い。

それどころか、手続き型も構造化も関数型も銀の弾丸ではない
なぜオブジェクト指向だけを違うと主張するのか?
2018/10/28(日) 03:32:02.39ID:heugqVbH
>>376
あふぉか、
なんらかの弱点があるから、どの方法も無意味だとでも言いたいのか

オブジェクト指向には、
特に問題があったのではないだろうかって
いままでさんざ議論してきて
何だそのレスは
2018/10/28(日) 04:19:38.38ID:ntMMh/Va
中身のないことを議論とは言わない
2018/10/28(日) 04:43:07.45ID:heugqVbH
それはオブジェクト指向の有効性の議論は
中身はなかったと同義だぞ
380デフォルトの名無しさん
垢版 |
2018/10/28(日) 04:52:49.27ID:vBzuIBdi
>>376
誰もオブジェクト指向だけがなんて言ってないし。
そういうのは、それぞれのスレでお願いします。
もしくは異種格闘技的なスレ建てて下さい。
381デフォルトの名無しさん
垢版 |
2018/10/28(日) 04:53:59.71ID:vBzuIBdi
>>376
誰もオブジェクト指向だけがなんて言ってないし。
そういうのは、それぞれのスレでお願いします。
もしくは異種格闘技的なスレ建てて下さい。
2018/10/28(日) 07:12:49.71ID:PnJQ4LJT
>>377
> あふぉか、
> なんらかの弱点があるから、どの方法も無意味だとでも言いたいのか

無意味なわけ無いじゃんw

あぁ、もちろんオブジェクト指向がってことだよ。
383デフォルトの名無しさん
垢版 |
2018/10/28(日) 07:36:23.63ID:MrnoigLK
チンポがシコシコするぜ!
2018/10/28(日) 07:47:13.80ID:9S8iKrwU
>>374
そこに疑問を持たないチンカスばっかりなんだよね
2018/10/28(日) 07:53:29.84ID:JSYSCVAX
共有できるメソッドが制限できているので・・・カプセル化全否定?
副作用副作用言うならimmutableにでもすれば?
2018/10/28(日) 08:31:13.63ID:q5KpZg+C
>>374
フィールドの共有がなかったら全てのフィールドを引数でバケツリレーするようなプログラムになる
引数の数が大爆発して意味不明になるぜ

そもそもフィールドを共有してるから依存があるというのは正しくない
片方のメソッドを消去してももう片方のメソッドは独立に使用し続けられる
なのでそこには依存はないんだぜ
2018/10/28(日) 08:38:18.12ID:A1A18Cj4
オブジェクトに対しての作用としてメソッドが存在するのに、メソッドが同じ変数を共有するって発想自体が意味不明だよな。
2018/10/28(日) 08:47:35.25ID:q5KpZg+C
フィールドの共有で依存が発生すると主張するのは
引数の共有で依存が発生すると主張するようなものだな
2018/10/28(日) 09:04:48.97ID:A1A18Cj4
相手のメソッド記述するって結合度気にするなら、全部メッセージでやりとりすれば良い。
宛先と送受信の共通の関数さえあれば結合度気にする必要が無いぞ。
2018/10/28(日) 09:58:02.87ID:q5KpZg+C
案外、難しく考えない方がいいのかもしれないね

なんか同じこと何度も書いとるなー👉関数
同じ組み合わせの引数ばかりわたしとるなー👉構造体
構造体と関数の組み合わせっていつも同じだなー👉クラス
フィールド直接弄るとバグ出やすいなー👉カプセル化

これでも十分なメリットを享受できる
まずは体感としてこれらのメリットを感じれるまでコードを書く
それから本格的な議論に参加すればいい
逆にこれらのメリットに体感的にすら気付いてないレベルで議論しても時間の無駄だろう
2018/10/28(日) 10:07:49.72ID:9S8iKrwU
>>390
そっか、お前らサルってメリットがどういうものか知らないんだな
メリットってのはお金を産まなきゃ意味がないんだぞ
具体的には工数削減と品質向上だ
工数削減はわかると思うが、さらに品質向上には基準が必要だ
これらの数字を具体的に変更して初めてメリット足りうる
おk?
2018/10/28(日) 10:08:23.71ID:9S8iKrwU
このスレにいるのは
俺にはサルしか見えない
メリットも見えない技術を使って悦にいってるような雑魚は
そもそも技術者でもプログラマでもなくてサルだろ
2018/10/28(日) 10:15:58.76ID:PnJQ4LJT
>>391
> 工数削減はわかると思うが、さらに品質向上には基準が必要だ
> これらの数字を具体的に変更して初めてメリット足りうる
> おk?

結論を言ってしまうと、コードメトリクスだね。
ツールを使って客観的に計測できる
2018/10/28(日) 10:22:50.11ID:q5KpZg+C
>>391
計測すればわかるけど俺が書いたことをやればスコア普通に良くなるよ
誰とは言わないけど感情が全てのサルには理解できないかもしれない
けど計測手段を持ってる人間にとってはオブジェクト指向のメリットは明白なんだよね
2018/10/28(日) 10:27:04.29ID:9S8iKrwU
>>394
じゃあ、具体的に何がどういう理由でそうなるの?
2018/10/28(日) 10:31:53.41ID:q5KpZg+C
>>395
コードの重複が減る
変数や引数が減る
分岐やループが減る
不正な操作が減る
危険な操作が減る
したがってスコアが良くなる
2018/10/28(日) 10:40:16.34ID:9S8iKrwU
>>396
具体的にどうして?
関数と比べて増える要素はあっても減る要素ないよ
2018/10/28(日) 10:46:09.61ID:9S8iKrwU
局所的なグローバル変数を使ってるに過ぎないのにメリットなんかねーよ
バカって結論を俺は持ってるけどね
オブジェクト指向のデメリットはグローバル変数のデメリットと同じなんだよ
2018/10/28(日) 10:49:54.17ID:PnJQ4LJT
>>398
お前が言ってるのは、グローバル関数のデメリットのことだろ?
2018/10/28(日) 10:52:05.99ID:PnJQ4LJT
グローバル変数が悪だからって
グローバルクラスも、同じグローバルがついてる
悪に違いない!って考えるのは単なる短絡思考
2018/10/28(日) 10:53:27.65ID:oBRWPPCT
グローバル変数は丸出しでかつ一個じゃん?
メンバ変数は隠すこともできてかつ複数じゃん?

あと、まとめて隠しとくメリットもでかくね?
int cap = 32, size = 0, data[cap]; // こーいうのより
vector<int> v; // こっちがスッキリじゃね
2018/10/28(日) 10:56:23.17ID:q5KpZg+C
局所的なグローバル変数で爆笑した
コメディアンの才能あるんじゃないか?
2018/10/28(日) 11:01:33.11ID:oBRWPPCT
というよりもよく考えたら

> 局所的なグローバル変数

というのが単に誤解なんだよな
struct data {int value;}
void method(struct data *this) {}
っていう単なるパラメータなんだから
2018/10/28(日) 11:03:35.69ID:A1A18Cj4
おまえら、オブジェクトの意味を知ってて言ってるのか?
知ってりゃグローバル変数なんて意味不明な話しないかw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況