カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることをいう。
かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心とした「インターネットを作った人たち」は「階層化の有害性」として「カプセル化は絶対にやめろ」としている。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
探検
カプセル化の有害性、オブジェクト指向は愚かな考え
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/06/18(木) 23:47:36.69ID:l/2SQUll329デフォルトの名無しさん
2020/06/27(土) 15:25:23.02ID:kHv6hhb8330デフォルトの名無しさん
2020/06/27(土) 15:26:25.05ID:kHv6hhb8 カプセル化とはアクセス修飾子でprivateにできることを言います
331デフォルトの名無しさん
2020/06/27(土) 15:28:46.34ID:UrcM2fcl 本当に?
332デフォルトの名無しさん
2020/06/27(土) 15:31:32.87ID:qJyof1ZF333デフォルトの名無しさん
2020/06/27(土) 15:32:44.69ID:qJyof1ZF334デフォルトの名無しさん
2020/06/27(土) 15:40:51.44ID:Z/pHF8i9 >>332
データベースで深い階層化が起こるとすれば、
・データベースの出し入れはストアドプロシージャ経由のみ
・誰かが作ったストアドプロシージャを叩くライブラリ
・末端開発者が見えるのはライブラリのみ
という状況
データベースで深い階層化が起こるとすれば、
・データベースの出し入れはストアドプロシージャ経由のみ
・誰かが作ったストアドプロシージャを叩くライブラリ
・末端開発者が見えるのはライブラリのみ
という状況
335デフォルトの名無しさん
2020/06/27(土) 15:45:38.60ID:kHv6hhb8 >>331
ホントっす
ホントっす
336デフォルトの名無しさん
2020/06/27(土) 15:46:26.65ID:ut+wnsgT ちがうよ
337デフォルトの名無しさん
2020/06/27(土) 15:46:32.04ID:kHv6hhb8338デフォルトの名無しさん
2020/06/27(土) 15:47:10.15ID:kHv6hhb8 >>336
何が違うんですか!?なんでですか?説明してください!
何が違うんですか!?なんでですか?説明してください!
339デフォルトの名無しさん
2020/06/27(土) 15:47:49.36ID:UrcM2fcl 内包してない?
340デフォルトの名無しさん
2020/06/27(土) 15:48:03.17ID:ut+wnsgT >>338
定義が違うから説明しろと言われても困る
定義が違うから説明しろと言われても困る
341デフォルトの名無しさん
2020/06/27(土) 15:48:32.24ID:kHv6hhb8 >>340
説明くらいできるだろハゲ、横着すんな
説明くらいできるだろハゲ、横着すんな
342デフォルトの名無しさん
2020/06/27(土) 15:48:33.70ID:PPBVSkWl ぬるぽ
343デフォルトの名無しさん
2020/06/27(土) 15:52:34.57ID:ut+wnsgT344デフォルトの名無しさん
2020/06/27(土) 15:53:17.57ID:ut+wnsgT345デフォルトの名無しさん
2020/06/27(土) 15:53:25.63ID:kHv6hhb8 >>343
なるほどね、アレルギーが、そういうことね
なるほどね、アレルギーが、そういうことね
346デフォルトの名無しさん
2020/06/27(土) 15:53:46.87ID:kHv6hhb8 恥かいた
347デフォルトの名無しさん
2020/06/27(土) 15:54:37.70ID:kHv6hhb8 安価ミスってんじゃないよ!!
納得した僕が馬鹿みたいでしょうが!!
納得した僕が馬鹿みたいでしょうが!!
348デフォルトの名無しさん
2020/06/27(土) 15:55:00.35ID:ut+wnsgT 馬鹿なんじゃないの?
349デフォルトの名無しさん
2020/06/27(土) 15:56:18.48ID:e0+LQFD/ ああもうめちゃくちゃだよ!
350デフォルトの名無しさん
2020/06/27(土) 16:01:21.18ID:7UzCd1n0 何やってんだおめーら。
そのへんでやめとき。
そのへんでやめとき。
351デフォルトの名無しさん
2020/06/27(土) 16:02:43.02ID:kHv6hhb8 カプセル化には強度があります。
C言語のヘッダやJavaのprivateといった言語機能として
カプセル化できることを強カプセル化と言います
JavaScriptやPythonのように命名規則によって使用者に
知らせるカプセル化のことを弱カプセル化と言うのです。
>>348 僕のこと見直してくれてもいいです
C言語のヘッダやJavaのprivateといった言語機能として
カプセル化できることを強カプセル化と言います
JavaScriptやPythonのように命名規則によって使用者に
知らせるカプセル化のことを弱カプセル化と言うのです。
>>348 僕のこと見直してくれてもいいです
352デフォルトの名無しさん
2020/06/27(土) 17:08:00.05ID:WDOSBdwF カプセル化こそ
すでに時代遅れだったんじゃねーの?
すでに時代遅れだったんじゃねーの?
353デフォルトの名無しさん
2020/06/27(土) 17:38:28.03ID:ut+wnsgT >>351
頭悪そう
頭悪そう
354デフォルトの名無しさん
2020/06/27(土) 17:59:51.27ID:kHv6hhb8 >>353
嘘つき!
嘘つき!
355デフォルトの名無しさん
2020/06/27(土) 18:27:35.27ID:e0+LQFD/ >>351
これまでの話を統合した結論として、
いまはgitなどバージョン管理差分確認ツールや
エディタやIDEの機能が充実してるから
言語機能でカプセル化して
「内部を意識しない」ように隠蔽したり制限するのではなく
開発ツールを駆使して内部を意識はするけど
ソースの仕様変更切り替えに対応しやすくなっている
やり方が主流
開発ツール進化によりカプセル化はその役割を終えた。
継承や抽象クラスやオーバーライドも非推奨
これをやると同じ名前のメソッドが沢山あって
IDEによるプロジェクト内キーワード全文検索を
阻害するから
これまでの話を統合した結論として、
いまはgitなどバージョン管理差分確認ツールや
エディタやIDEの機能が充実してるから
言語機能でカプセル化して
「内部を意識しない」ように隠蔽したり制限するのではなく
開発ツールを駆使して内部を意識はするけど
ソースの仕様変更切り替えに対応しやすくなっている
やり方が主流
開発ツール進化によりカプセル化はその役割を終えた。
継承や抽象クラスやオーバーライドも非推奨
これをやると同じ名前のメソッドが沢山あって
IDEによるプロジェクト内キーワード全文検索を
阻害するから
356デフォルトの名無しさん
2020/06/27(土) 18:38:03.92ID:kHv6hhb8 >>355
カプセル化しなかったら仕様変更がしやすいのか、なるほど
カプセル化しなかったら仕様変更がしやすいのか、なるほど
357デフォルトの名無しさん
2020/06/27(土) 18:45:55.84ID:e0+LQFD/ >>356
読解を間違えています
カプセル化をしないことで仕様変更しやすくなるのではなく
カプセル化を「しなくても」代わりに
開発ツールが充実してるから
ブランチ切り替えや差分確認でスマートな
仕様変更と仕様切り替えが可能です。
だからカプセル化はもう不要になりました。
読解を間違えています
カプセル化をしないことで仕様変更しやすくなるのではなく
カプセル化を「しなくても」代わりに
開発ツールが充実してるから
ブランチ切り替えや差分確認でスマートな
仕様変更と仕様切り替えが可能です。
だからカプセル化はもう不要になりました。
358デフォルトの名無しさん
2020/06/27(土) 18:50:33.85ID:UrcM2fcl それはカプセル化の使用有無に関係ないのでは
359デフォルトの名無しさん
2020/06/27(土) 18:52:34.90ID:kHv6hhb8360デフォルトの名無しさん
2020/06/27(土) 18:54:31.03ID:twDHZDh4361デフォルトの名無しさん
2020/06/27(土) 19:01:29.07ID:7UzCd1n0 IDEの助けがあるとは言え、grepした時の重複は勘弁して欲しい。
どれやねんっていつも思う。
本当にOOPってメンテしやすいんだろうか?
どれやねんっていつも思う。
本当にOOPってメンテしやすいんだろうか?
362デフォルトの名無しさん
2020/06/27(土) 19:03:28.66ID:kHv6hhb8 わかりました、grepを禁止します!
363デフォルトの名無しさん
2020/06/27(土) 19:07:51.73ID:kHv6hhb8 世界的超人気言語はC言語、Java、Pythonと変遷していってるわけだけれども
たしかにカプセル化の機能は時代とともに弱まってるように見える
たしかにカプセル化の機能は時代とともに弱まってるように見える
364デフォルトの名無しさん
2020/06/27(土) 19:10:52.99ID:e0+LQFD/ >>359
そのオブジェクト破壊って一体何を意味してる?
多少オブジェクトが破壊されたところで
アプリは動くし すぐバグになる訳じゃないだろう。
多少経験あるプログラマなら知らないオブジェクトへの
破壊的代入は軽率にはやらないだろうし、
オブジェクトのバックアップ変数作ったり少し考えれば
それくらいやるだろう。
やる時はどうしてもやる時はそうせざるを得ないからやる訳で
破壊するのにもそれなりの理由があるんだよ。
それをprivateとかprotectedするなんて余計なお節介
もいいところ
そして、そういう操作の是非は
gitでコードレビューできるだろ。
そのオブジェクト破壊って一体何を意味してる?
多少オブジェクトが破壊されたところで
アプリは動くし すぐバグになる訳じゃないだろう。
多少経験あるプログラマなら知らないオブジェクトへの
破壊的代入は軽率にはやらないだろうし、
オブジェクトのバックアップ変数作ったり少し考えれば
それくらいやるだろう。
やる時はどうしてもやる時はそうせざるを得ないからやる訳で
破壊するのにもそれなりの理由があるんだよ。
それをprivateとかprotectedするなんて余計なお節介
もいいところ
そして、そういう操作の是非は
gitでコードレビューできるだろ。
365デフォルトの名無しさん
2020/06/27(土) 19:13:53.12ID:npRplKHX カプセル化って一種の安全装置なわけだし、作業性とはトレードオフに
なるわな どちらかを選択するなら当然安全装置を選択するが
なるわな どちらかを選択するなら当然安全装置を選択するが
366デフォルトの名無しさん
2020/06/27(土) 19:26:08.84ID:D2Sdnpa5 使い捨てだの再利用しないだの
素晴らしい含蓄をみずほレベルの巨大案件に適用してれば歴史が変わっていたかも知れない
素晴らしい含蓄をみずほレベルの巨大案件に適用してれば歴史が変わっていたかも知れない
367デフォルトの名無しさん
2020/06/27(土) 19:29:44.84ID:kHv6hhb8 >>364
Javaでいうところのprivateやprotectedの値を書き換えたり参照したりといったことを
オブジェクトの破壊と言ってます
コードレビューできるっていうのはそれをやらないと洗い出せないってことでしょ
カプセル化の機能を使っていれば実装時に気付けることをレビューまで先延ばしにすることによって
得られることがそんなに多いのですかね
Javaでいうところのprivateやprotectedの値を書き換えたり参照したりといったことを
オブジェクトの破壊と言ってます
コードレビューできるっていうのはそれをやらないと洗い出せないってことでしょ
カプセル化の機能を使っていれば実装時に気付けることをレビューまで先延ばしにすることによって
得られることがそんなに多いのですかね
368デフォルトの名無しさん
2020/06/27(土) 19:37:50.49ID:kHv6hhb8 たとえばこの先Pythonが、名前が_から始まるメンバに外からアクセスすると
構文エラーになるようになった場合、動作するプログラムにカプセル化を破壊するような
操作がないことは明白になるのでとても便利だと思います
構文エラーになるようになった場合、動作するプログラムにカプセル化を破壊するような
操作がないことは明白になるのでとても便利だと思います
369デフォルトの名無しさん
2020/06/27(土) 19:42:29.28ID:npRplKHX Pythonぐらいの緩さが一番バランスいい気がする
人気があるのも納得
人気があるのも納得
370デフォルトの名無しさん
2020/06/27(土) 19:44:24.05ID:7UzCd1n0 >>368
dart的な感じ?
dart的な感じ?
371デフォルトの名無しさん
2020/06/27(土) 19:50:55.69ID:kHv6hhb8372デフォルトの名無しさん
2020/06/27(土) 19:53:28.59ID:kHv6hhb8 アクセス修飾子でアクセス制限をかけてしまうと
テストすることさえできなくなります
これがカプセル化の圧倒的な弱点です
テストすることさえできなくなります
これがカプセル化の圧倒的な弱点です
373デフォルトの名無しさん
2020/06/27(土) 19:55:33.60ID:kHv6hhb8 privateではありつつもテスト時などにアクセス可能なバックドアが必要で、それが現代のプログラミング言語には欠けていると思います
374デフォルトの名無しさん
2020/06/27(土) 20:15:27.61ID:7UzCd1n0375デフォルトの名無しさん
2020/06/27(土) 20:17:13.10ID:mehAi5n4 グローバル変数使用禁止の
public staticが唯一無二の解決策だというのにわからん奴がいるな
public staticが唯一無二の解決策だというのにわからん奴がいるな
376デフォルトの名無しさん
2020/06/27(土) 20:34:22.57ID:gS37C1rZ377デフォルトの名無しさん
2020/06/27(土) 20:35:14.22ID:gS37C1rZ >>372
テストするならpublicにすればいいだけ
テストするならpublicにすればいいだけ
378デフォルトの名無しさん
2020/06/27(土) 20:39:11.40ID:e0+LQFD/ まず重要な前提として
システムの仕様変更というのは
appのソースコードの変更だけではない。
データベースの変更や接続してる外部サーバや
ストレージに関連する仕様変更とかもある。
そして、カプセル化を初めとするオブジェクト指向の
設計技法はメモリ内の瞬間的なごく狭い範囲の
事しか考えてない。
外部環境の仕様が変わったり、フェイルオーバーなどの
不具合が起きてシステム全体のデバッグしたり
不具合調査するときに、app層がカプセル化されていたり
オブジェクト指向の技法が使われているほど
それらが邪魔になってやりにくくなるのは
想像に難くないと思う。
仮想化やクラウド化が進んでる最近では
こういう外部環境の隠蔽は逆に困るんだよ。
システムの仕様変更というのは
appのソースコードの変更だけではない。
データベースの変更や接続してる外部サーバや
ストレージに関連する仕様変更とかもある。
そして、カプセル化を初めとするオブジェクト指向の
設計技法はメモリ内の瞬間的なごく狭い範囲の
事しか考えてない。
外部環境の仕様が変わったり、フェイルオーバーなどの
不具合が起きてシステム全体のデバッグしたり
不具合調査するときに、app層がカプセル化されていたり
オブジェクト指向の技法が使われているほど
それらが邪魔になってやりにくくなるのは
想像に難くないと思う。
仮想化やクラウド化が進んでる最近では
こういう外部環境の隠蔽は逆に困るんだよ。
379デフォルトの名無しさん
2020/06/27(土) 20:46:30.95ID:npRplKHX >>378
オブジェクト指向の技法が使われているほど
それらが邪魔になってやりにくくなるのは
逆説的だがこれが利点の一つなんだ 手続き型だと
直したつもりになることが多々あり 新たなバクを生む
時間が多少かかっても形式的に処理するべき
オブジェクト指向の技法が使われているほど
それらが邪魔になってやりにくくなるのは
逆説的だがこれが利点の一つなんだ 手続き型だと
直したつもりになることが多々あり 新たなバクを生む
時間が多少かかっても形式的に処理するべき
380デフォルトの名無しさん
2020/06/27(土) 20:59:08.97ID:kHv6hhb8381デフォルトの名無しさん
2020/06/27(土) 21:00:30.56ID:kHv6hhb8 >>377
publicにしたら別のオブジェクトからアクセスされちゃうじゃん
そのメソッドは内部の状態と深い関わりがあって勝手に呼ばれると困っちゃうの
みたいなことあるじゃんテストのときだけpublicにするのはヤリマンだし
publicにしたら別のオブジェクトからアクセスされちゃうじゃん
そのメソッドは内部の状態と深い関わりがあって勝手に呼ばれると困っちゃうの
みたいなことあるじゃんテストのときだけpublicにするのはヤリマンだし
382デフォルトの名無しさん
2020/06/27(土) 21:03:21.73ID:kHv6hhb8 テストを別オブジェクトにするのが間違ってるのかもわからんね
データと関数をセットにしたものをオブジェクトと呼ぶように
データと関数とテストをセットにした自己メンテナンス完結型のものをアクターと呼ぶことにしようよ!
データと関数をセットにしたものをオブジェクトと呼ぶように
データと関数とテストをセットにした自己メンテナンス完結型のものをアクターと呼ぶことにしようよ!
383デフォルトの名無しさん
2020/06/27(土) 21:13:44.71ID:gS37C1rZ >>380
> テストは全メソッドやるでしょ
全メソッドやるかどうかはその人次第
テストするならpublicにする
それだけの話
テストするということは、そのインターフェースは
外部から使用しても良いということを意味する
テストされてるんだから仕様が変わったりしない
> テストは全メソッドやるでしょ
全メソッドやるかどうかはその人次第
テストするならpublicにする
それだけの話
テストするということは、そのインターフェースは
外部から使用しても良いということを意味する
テストされてるんだから仕様が変わったりしない
384デフォルトの名無しさん
2020/06/27(土) 21:14:19.20ID:gS37C1rZ385デフォルトの名無しさん
2020/06/27(土) 21:32:11.55ID:kHv6hhb8 >>384
いやいや、公開する必要のないメソッドを公開する意味がない
呼ばれちゃいけないタイミングはある、テストしてるかどうかとは関係ない
テストしてないコードはバグってるよ
人の問題で片付けてはいけない
いやいや、公開する必要のないメソッドを公開する意味がない
呼ばれちゃいけないタイミングはある、テストしてるかどうかとは関係ない
テストしてないコードはバグってるよ
人の問題で片付けてはいけない
386デフォルトの名無しさん
2020/06/27(土) 21:33:25.71ID:kHv6hhb8 テストやるときって前提となる状態を作ってからやるじゃん
公開して自由にアクセスできたら前提が成り立たない状態でアクセスされちゃうじゃん
テストエアプかい?
公開して自由にアクセスできたら前提が成り立たない状態でアクセスされちゃうじゃん
テストエアプかい?
387デフォルトの名無しさん
2020/06/27(土) 21:34:14.35ID:kHv6hhb8 ちなみにだけど僕は自動化テストは書いたことがない
書いたことないけど僕はテストにすごく詳しいんだ、わからないことがあったら聞いて
書いたことないけど僕はテストにすごく詳しいんだ、わからないことがあったら聞いて
388デフォルトの名無しさん
2020/06/27(土) 21:36:38.34ID:kHv6hhb8 privateなメソッドにテストが必要ないと思ってる人がいるのが僕は不思議
むしろprivateなメソッドこそテストするべきでpublicなメソッドはただのインターフェース
むしろprivateなメソッドこそテストするべきでpublicなメソッドはただのインターフェース
389デフォルトの名無しさん
2020/06/27(土) 21:38:48.09ID:kHv6hhb8 privateなメソッドにロジックが書かれていてそのテストを内包してるオブジェクトのことをアクターと呼ぶことにしようか
390デフォルトの名無しさん
2020/06/27(土) 21:45:24.83ID:OC6QjUii publicにしたからと言って緩和するだけで結局状態の保持をされて意味不明な動作をするところは変わらんで
staticおじさんの言うことを聞きなさい
staticおじさんの言うことを聞きなさい
391デフォルトの名無しさん
2020/06/27(土) 22:12:18.34ID:gS37C1rZ392デフォルトの名無しさん
2020/06/27(土) 22:15:42.36ID:kHv6hhb8393デフォルトの名無しさん
2020/06/27(土) 22:16:57.07ID:kHv6hhb8 テストエアプか?
テストのためだけにpublicにするなんてありえない
テストのためだけにpublicにするなんてありえない
394デフォルトの名無しさん
2020/06/27(土) 22:18:03.01ID:pxtmQ7+k395デフォルトの名無しさん
2020/06/27(土) 22:19:08.38ID:UrcM2fcl 外部からアクセスするテストをしなくて済むのがprivateだと思います^^
396デフォルトの名無しさん
2020/06/27(土) 22:19:09.22ID:kHv6hhb8397デフォルトの名無しさん
2020/06/27(土) 22:20:26.71ID:gS37C1rZ >>388
テストをするということは、それはインターフェースとして仕様がきっちりしていて
長い期間にわたって変更しない(されにくい)ということなんだよ
インターフェースが適当だったり変わりやすいものは
変わるたびにテストも変えなくてはいけなくなる
つまりテストのメンテナンスのコストが増えてしまう
インターフェースが適当だったり変わりやすいものを作るなという話じゃない
そういうのは作ってもいいがprivateにして、他のpublicメソッドを通して間接的にテストする
privateはテストしなくていいとかテストできないとかじゃなくて
インターフェースが(まだ)明確に決きめずに後回しにできるというメリットが有る
一方テスト可能な段階になったなら、それはインターフェースの仕様が明確に定義されているということ
(明確に定義されてないものをテストなんかできない)
明確に定義されたのならpublicにしていいわけ
テストをするということは、それはインターフェースとして仕様がきっちりしていて
長い期間にわたって変更しない(されにくい)ということなんだよ
インターフェースが適当だったり変わりやすいものは
変わるたびにテストも変えなくてはいけなくなる
つまりテストのメンテナンスのコストが増えてしまう
インターフェースが適当だったり変わりやすいものを作るなという話じゃない
そういうのは作ってもいいがprivateにして、他のpublicメソッドを通して間接的にテストする
privateはテストしなくていいとかテストできないとかじゃなくて
インターフェースが(まだ)明確に決きめずに後回しにできるというメリットが有る
一方テスト可能な段階になったなら、それはインターフェースの仕様が明確に定義されているということ
(明確に定義されてないものをテストなんかできない)
明確に定義されたのならpublicにしていいわけ
398デフォルトの名無しさん
2020/06/27(土) 22:20:30.54ID:nVWlQ22s ジャップにオブジェクト指向は100年早いみたいだな
脳死で全てにpublic staticって書いとけ
脳死で全てにpublic staticって書いとけ
399デフォルトの名無しさん
2020/06/27(土) 22:20:37.43ID:kHv6hhb8400デフォルトの名無しさん
2020/06/27(土) 22:22:06.34ID:gS37C1rZ401デフォルトの名無しさん
2020/06/27(土) 22:22:39.57ID:kHv6hhb8402デフォルトの名無しさん
2020/06/27(土) 22:23:50.09ID:gS37C1rZ403デフォルトの名無しさん
2020/06/27(土) 22:23:52.28ID:gUUFl8tS >>400
じゃあ、全部テストするときは全部publicだね
じゃあ、全部テストするときは全部publicだね
404デフォルトの名無しさん
2020/06/27(土) 22:24:28.59ID:kHv6hhb8 >>400
テストするときは前提の状態を用意してからやるもので
テストは実装が正しいか確認するためにやる
publicにして他のオブジェクトから自由に呼び出して良いですというものとはわけが違う
テストで呼んだから別のところでも呼んでいんだなんて道理は存在しない
テストエアプか?
テストするときは前提の状態を用意してからやるもので
テストは実装が正しいか確認するためにやる
publicにして他のオブジェクトから自由に呼び出して良いですというものとはわけが違う
テストで呼んだから別のところでも呼んでいんだなんて道理は存在しない
テストエアプか?
405デフォルトの名無しさん
2020/06/27(土) 22:25:10.97ID:kHv6hhb8406デフォルトの名無しさん
2020/06/27(土) 22:25:22.83ID:gS37C1rZ >>403
仕様が明確に決まってないようなものは
privateにしてテストをサボることができる
サボると言ってもpublicメソッド経由でテストするわけだが
あくまでメソッド単体でのテストをサボるだけ
仕様が明確に決まってないようなものは
privateにしてテストをサボることができる
サボると言ってもpublicメソッド経由でテストするわけだが
あくまでメソッド単体でのテストをサボるだけ
407デフォルトの名無しさん
2020/06/27(土) 22:25:38.25ID:zbAPoACG >>404
だからどうすんだよ
だからどうすんだよ
408デフォルトの名無しさん
2020/06/27(土) 22:26:14.09ID:gS37C1rZ409デフォルトの名無しさん
2020/06/27(土) 22:27:02.78ID:kHv6hhb8 >>407
そこで、僕に名案があります
テストを同じオブジェクトの中に用意するんです
そうしてデータ、メソッド、テスト、この3つを備えたオブジェクトをアクターと呼ぶことにしましょう
プログラミングパラダイムはアクターが主流の時代に突入します
そこで、僕に名案があります
テストを同じオブジェクトの中に用意するんです
そうしてデータ、メソッド、テスト、この3つを備えたオブジェクトをアクターと呼ぶことにしましょう
プログラミングパラダイムはアクターが主流の時代に突入します
410デフォルトの名無しさん
2020/06/27(土) 22:28:17.85ID:kHv6hhb8411デフォルトの名無しさん
2020/06/27(土) 22:28:55.27ID:gS37C1rZ412デフォルトの名無しさん
2020/06/27(土) 22:30:05.59ID:kHv6hhb8 テストという概念がオブジェクト指向の中にないからこのようなジレンマに陥るのです
そこで、オブジェクトの中にテストを入れてしまおうというのが僕が提唱する新時代の
プログラミングパラダイム、アクター指向です
そこで、オブジェクトの中にテストを入れてしまおうというのが僕が提唱する新時代の
プログラミングパラダイム、アクター指向です
413デフォルトの名無しさん
2020/06/27(土) 22:30:26.61ID:kHv6hhb8 >>411
壊れるに決まってるだろ、いい加減なこと言うなハゲ
壊れるに決まってるだろ、いい加減なこと言うなハゲ
414デフォルトの名無しさん
2020/06/27(土) 22:30:40.41ID:kHv6hhb8 privateなめんなよ
415デフォルトの名無しさん
2020/06/27(土) 22:30:57.83ID:gS37C1rZ >>413
なんだよw根拠言えないのかよw
なんだよw根拠言えないのかよw
416デフォルトの名無しさん
2020/06/27(土) 22:31:24.07ID:kHv6hhb8 >>415
お前が根拠言えよ
お前が根拠言えよ
417デフォルトの名無しさん
2020/06/27(土) 22:31:41.00ID:kHv6hhb8 壊れないことを証明してみせろ
418デフォルトの名無しさん
2020/06/27(土) 22:32:50.72ID:gS37C1rZ 壊れる要因がないので壊れない
419デフォルトの名無しさん
2020/06/27(土) 22:33:18.25ID:kHv6hhb8 早くしろよおら、全部publicにしてプログラム書いてみろよ、ぶち、壊してやるから
420デフォルトの名無しさん
2020/06/27(土) 22:36:21.73ID:kHv6hhb8 アクセス修飾子はテストのために変えるものじゃない
そこに現行のオブジェクト指向の限界がある
そこでオブジェクト内にテストまで用意しましょうというのが新時代のアクター指向
そこに現行のオブジェクト指向の限界がある
そこでオブジェクト内にテストまで用意しましょうというのが新時代のアクター指向
421デフォルトの名無しさん
2020/06/27(土) 22:37:15.69ID:paNjyoZf 現状のオブジェクト指向言語がウンコってことでいいよね
422デフォルトの名無しさん
2020/06/27(土) 22:38:06.59ID:gS37C1rZ > アクセス修飾子はテストのために変えるものじゃない
当たり前だろうw
テストというのは外部からインターフェースの仕様が明確に決まってるからこそできること
外部からのインターフェースの仕様が明確に決まったなら
それはpublicにしてよい
当たり前だろうw
テストというのは外部からインターフェースの仕様が明確に決まってるからこそできること
外部からのインターフェースの仕様が明確に決まったなら
それはpublicにしてよい
423デフォルトの名無しさん
2020/06/27(土) 22:38:47.14ID:kHv6hhb8 >>422
そんなの当たり前だろ
そんなの当たり前だろ
424デフォルトの名無しさん
2020/06/27(土) 22:39:05.28ID:gS37C1rZ だから当たり前の話をしてる
425デフォルトの名無しさん
2020/06/27(土) 22:40:35.80ID:kHv6hhb8 >>421
はい、そう言わざる得ないのが現状です
言語が悪いんじゃないプログラミングパラダイムにまだ進化の余地があると
前向きに捉えるのが良いと僕は思います
アクター指向言語がこれから出てくることを祈ります
はい、そう言わざる得ないのが現状です
言語が悪いんじゃないプログラミングパラダイムにまだ進化の余地があると
前向きに捉えるのが良いと僕は思います
アクター指向言語がこれから出てくることを祈ります
426デフォルトの名無しさん
2020/06/27(土) 22:40:49.92ID:kHv6hhb8 >>424
だから当たり前だろ
だから当たり前だろ
427デフォルトの名無しさん
2020/06/27(土) 22:41:07.23ID:kHv6hhb8 あ・た・り・ま・え
428デフォルトの名無しさん
2020/06/27(土) 22:41:23.91ID:5gWgsM/a え?privateなメソッドをテストしないって正気?
単に現状のオブジェクト指向言語と開発環境がテストのサポートできてないだけだろ
単に現状のオブジェクト指向言語と開発環境がテストのサポートできてないだけだろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- 5:55:55.555
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 戦争は無くならないし殺人は起きるし女はレイプされるし子供は餓死するし
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
- 高市さんに土下座してもらったら一発解決なのに何でやらないんだろ??
- 【悲報】男性人気アイドルグループJO1、中国公演中止wwwwwwwwwwwwwwwwwwwwwwwwwww
