カプセル化(英語: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/2SQUll459デフォルトの名無しさん
2020/06/27(土) 23:12:06.00ID:kHv6hhb8 >>457
ありがとー!タグっちゃん!
ありがとー!タグっちゃん!
460デフォルトの名無しさん
2020/06/27(土) 23:13:46.29ID:gS37C1rZ どこから品質の話が出てきたのか知らんが、
品質とテストの話は
> 5.完全な設計は試験や検査は不要
これですかね?
品質とテストの話は
> 5.完全な設計は試験や検査は不要
これですかね?
461デフォルトの名無しさん
2020/06/27(土) 23:19:08.91ID:gS37C1rZ >>458はいくつか日本語の文章に問題があるな
1.モノを作る前に品質を創れ
2.品質工学は統計ではない ×「品質工学は○○である」と言おう
3.科学的思考ではモノは出来ない ×「○○的思考でモノは出来る」と言おう
4.市場品質はすべて設計できまる
5.完全な設計は試験や検査は不要 ×「不完全な設計は試験や検査が必要」と言おう
6.品質評価はn=1でよい
7.品質を改善するときには品質を測るな ×「品質を改善するときには○○をしろ」と言おう
8.評価はあるべき姿を定義して、安定性はSN比で行う
9.直交表で設計の再現性をチェックする(パラメータ設計)
10. システムは複雑でなければ、改善はできない ×「システムは複雑なら、改善ができる」と言おう
こう偉そうなことを言ってるのに、じゃあどうすればいいかを
相手に考えさせるのって、どうなんでしょうかね(苦笑)
1.モノを作る前に品質を創れ
2.品質工学は統計ではない ×「品質工学は○○である」と言おう
3.科学的思考ではモノは出来ない ×「○○的思考でモノは出来る」と言おう
4.市場品質はすべて設計できまる
5.完全な設計は試験や検査は不要 ×「不完全な設計は試験や検査が必要」と言おう
6.品質評価はn=1でよい
7.品質を改善するときには品質を測るな ×「品質を改善するときには○○をしろ」と言おう
8.評価はあるべき姿を定義して、安定性はSN比で行う
9.直交表で設計の再現性をチェックする(パラメータ設計)
10. システムは複雑でなければ、改善はできない ×「システムは複雑なら、改善ができる」と言おう
こう偉そうなことを言ってるのに、じゃあどうすればいいかを
相手に考えさせるのって、どうなんでしょうかね(苦笑)
462デフォルトの名無しさん
2020/06/27(土) 23:24:56.40ID:gS37C1rZ 「品質が欲しければ、品質を測るな!」は
「品質が欲しければ、機能を測って改善しろ!」という意味みたいですな
つまりオブジェクトの品質を上げたければ
テストできるように機能を改善しろということですな
privateメソッドであれば、インターフェースを明確にして
機能に昇格させればpublicになるわけです。
「品質が欲しければ、機能を測って改善しろ!」という意味みたいですな
つまりオブジェクトの品質を上げたければ
テストできるように機能を改善しろということですな
privateメソッドであれば、インターフェースを明確にして
機能に昇格させればpublicになるわけです。
463デフォルトの名無しさん
2020/06/27(土) 23:31:52.99ID:npRplKHX >>462
ホントにタグチメソッド知らなかったのか?
その割には理解が早いな
ようするにバクをなくしたいのだろ?
それならバクがでるかどうかのテストをすることが自体がずれてるんだ
そんなことは最終段階でやることじゃないんだ どうせモグラたたきになる
最初の設計段階で徹底的にいじめ抜け
どれだけ変更に強いかをテストするんだ
品質が欲しければ,機能を測れ これにつきる
ホントにタグチメソッド知らなかったのか?
その割には理解が早いな
ようするにバクをなくしたいのだろ?
それならバクがでるかどうかのテストをすることが自体がずれてるんだ
そんなことは最終段階でやることじゃないんだ どうせモグラたたきになる
最初の設計段階で徹底的にいじめ抜け
どれだけ変更に強いかをテストするんだ
品質が欲しければ,機能を測れ これにつきる
464デフォルトの名無しさん
2020/06/27(土) 23:40:30.32ID:gS37C1rZ465デフォルトの名無しさん
2020/06/27(土) 23:41:10.95ID:ZFnYFbMi 単体テストとどう違うの?
466デフォルトの名無しさん
2020/06/27(土) 23:41:18.54ID:gS37C1rZ467デフォルトの名無しさん
2020/06/27(土) 23:42:26.37ID:gS37C1rZ468デフォルトの名無しさん
2020/06/27(土) 23:43:10.60ID:ZFnYFbMi 単体テストって結合してからテストするの?
469デフォルトの名無しさん
2020/06/27(土) 23:46:52.77ID:ZFnYFbMi 王家秘伝のレシピ教えてやるよ。
#define private public
皆には内緒だぞ。
#define private public
皆には内緒だぞ。
470デフォルトの名無しさん
2020/06/28(日) 01:34:12.55ID:wUTwjqhp >>469
#define ディレクティブを使用して、通常 C および C++ で行うように定数値を宣言することはできません。
C# の定数は、クラスまたは構造体の静的メンバーとして定義することができます。
そのような定数がいくつかある場合は、それを保持するための "Constants" クラスを個別に作成することを検討してください。
#define ディレクティブを使用して、通常 C および C++ で行うように定数値を宣言することはできません。
C# の定数は、クラスまたは構造体の静的メンバーとして定義することができます。
そのような定数がいくつかある場合は、それを保持するための "Constants" クラスを個別に作成することを検討してください。
471デフォルトの名無しさん
2020/06/28(日) 02:01:57.56ID:pODeKu4C privateメソッドの直接テストしたいけど可視性を変えたくない場合は
リフレクションを簡単に使えるようにしてるテストフレームワークだったりライブラリ使えばいい
ちなみにGoやRustはprivateもテストできる仕組み持ってる
リフレクションを簡単に使えるようにしてるテストフレームワークだったりライブラリ使えばいい
ちなみにGoやRustはprivateもテストできる仕組み持ってる
472デフォルトの名無しさん
2020/06/28(日) 05:51:03.49ID:qNzQpEfW >>469
あざーす!国王あざーす!
あざーす!国王あざーす!
473デフォルトの名無しさん
2020/06/28(日) 05:51:56.56ID:qNzQpEfW >>471
ええなー
ええなー
474デフォルトの名無しさん
2020/06/28(日) 09:51:30.71ID:lfkBrldT >>463
ソフトウェアの作り方も知らずにタグチメソッド真に受けたら、
糞みたいな品質のものしかできんぞw
単体テストってのは設計の一部なんだよ。品質テストとは全く異なる。
抽象論でタグチメソッドを適用しようとしてる輩が一番ヤバい。
ソフトウェアの作り方も知らずにタグチメソッド真に受けたら、
糞みたいな品質のものしかできんぞw
単体テストってのは設計の一部なんだよ。品質テストとは全く異なる。
抽象論でタグチメソッドを適用しようとしてる輩が一番ヤバい。
475デフォルトの名無しさん
2020/06/28(日) 10:22:04.23ID:4vfVPlvE なんだミニ四駆のモータに学ぶことでもあんのか?って思ったら
品質100%の更に上の話じゃねーか
現場の単体テストもロクにやらないクソが問題になってるITでそんなもんいらん
品質100%の更に上の話じゃねーか
現場の単体テストもロクにやらないクソが問題になってるITでそんなもんいらん
476デフォルトの名無しさん
2020/06/28(日) 12:40:59.37ID:L5Cpw8A4 中の磁石が強いほどトルクが上がって回転数が下がる
磁力が弱いほどトルクが下がって回転数が上がる
磁力が弱いほどトルクが下がって回転数が上がる
477デフォルトの名無しさん
2020/06/28(日) 13:22:34.10ID:S7usk0qp >>326
わかりやすい
わかりやすい
478デフォルトの名無しさん
2020/06/28(日) 18:21:30.86ID:3Si3AZJb privateのテストってリファクタリングの妨げじゃないのか
479デフォルトの名無しさん
2020/06/28(日) 18:55:54.96ID:nHckGJvd 開発体制が複数の会社でピラミッド状の階層化されてたら指揮系統的に相当厳しいだろうね。
480デフォルトの名無しさん
2020/06/28(日) 19:33:26.78ID:JoVMtTbA Javaの修飾子宣言鬱陶しくてほんと嫌い
481デフォルトの名無しさん
2020/06/29(月) 14:12:08.40ID:EmVrB3rr 明示的な状態管理は、(不可能ではないにせよ)管理すべき状態の量が増えてくると非常に困難になってくるところ、関数型言語の考え方を取り込むことによってその負担を軽減できるのではないかーーという意見もあるようだけど、
このスレの人(カプセル化肯定派・否定派いずれも)としてはどう?
このスレの人(カプセル化肯定派・否定派いずれも)としてはどう?
482デフォルトの名無しさん
2020/06/29(月) 19:41:29.30ID:bVpw4tuk カプセル化の可否はともかく
階層化の有害性についてはこう思います。
例えばディレクトリを階層化のすると
親ディレクトリと子ディレクトリに同じデータを重複格納
する人が出たりしてデータの二重管理が発生
しやすくなると思います。
そのうちどれが正なのか分からなくなります。
あと単純に子供に格納するほどデータのアクセスパスが
長くなってどこにあるのか探し出すのが大変になると
思います。
これはオブジェクトの階層構造でも
JSONなどの構造についても言えることだと思います。
階層化の有害性についてはこう思います。
例えばディレクトリを階層化のすると
親ディレクトリと子ディレクトリに同じデータを重複格納
する人が出たりしてデータの二重管理が発生
しやすくなると思います。
そのうちどれが正なのか分からなくなります。
あと単純に子供に格納するほどデータのアクセスパスが
長くなってどこにあるのか探し出すのが大変になると
思います。
これはオブジェクトの階層構造でも
JSONなどの構造についても言えることだと思います。
483デフォルトの名無しさん
2020/06/29(月) 20:06:40.16ID:cYsf6eW3 プログラムで階層化なんて意識したことないけど問題起こったことない
分野が違うのかな
分野が違うのかな
484デフォルトの名無しさん
2020/06/29(月) 20:18:08.97ID:6d9dL1u1 そう、問題が起こるのはいつも人間関係です
485デフォルトの名無しさん
2020/06/29(月) 20:19:42.34ID:tYVp58Ca つまり、人間関係の問題を持ってきても、技術を否定したことにはならないのです。
486デフォルトの名無しさん
2020/06/29(月) 21:42:10.57ID:P3P3vIj6487デフォルトの名無しさん
2020/06/29(月) 23:35:22.76ID:L39gVdue >>482
そこで挙げている階層化の問題だが、階層化せずフラットに格納すれば解決するのか?
階層化しないということは同じレベルに大量の物が同格に並ぶわけだが、そうなると目的の物を探すのが困難になりすでにあるデータと同じものを重複して格納する危険性があるだろう。
またアクセスパスが長くなるというが、フラットな構造で多数の物を適切に命名しようとすれば階層的な名前付けが役立つはずだが、それすら長くなると忌避するなら場当たり的に短い名前を着けていっていずれ収集が着かなくなるだけでないの?
お前さんが挙げた階層化の問題は階層化の仕方が悪い(下手な)だけで、階層化をしなければ解決するというものではなかろう。
そこで挙げている階層化の問題だが、階層化せずフラットに格納すれば解決するのか?
階層化しないということは同じレベルに大量の物が同格に並ぶわけだが、そうなると目的の物を探すのが困難になりすでにあるデータと同じものを重複して格納する危険性があるだろう。
またアクセスパスが長くなるというが、フラットな構造で多数の物を適切に命名しようとすれば階層的な名前付けが役立つはずだが、それすら長くなると忌避するなら場当たり的に短い名前を着けていっていずれ収集が着かなくなるだけでないの?
お前さんが挙げた階層化の問題は階層化の仕方が悪い(下手な)だけで、階層化をしなければ解決するというものではなかろう。
488デフォルトの名無しさん
2020/06/30(火) 05:33:42.93ID:v2qXZCJh 結局、分類だったり抽象化のやり方がクソってだけの話だろ。
フラットにしようが階層にしようが、クソな分け方したらどうにもならんてだけの話だ。
フラットにしようが階層にしようが、クソな分け方したらどうにもならんてだけの話だ。
489デフォルトの名無しさん
2020/06/30(火) 08:05:51.26ID:GiU27GCt490デフォルトの名無しさん
2020/06/30(火) 08:11:00.58ID:PIU/381m >>486
ぴえ?
ぴえ?
491デフォルトの名無しさん
2020/06/30(火) 10:40:18.75ID:J3IrN4Ey492途中から見た。
2020/06/30(火) 19:35:05.23ID:g7PLkMcM なんか、privateメソッドのテストでもめているけど、なんで。
そもそも、privateメソッドを外部から呼び出してテストしないといけない場面が想像できないのだが。
クラスライブラリのコードを紛失したとか笑えないケースを想定しているの?
そもそも、privateメソッドを外部から呼び出してテストしないといけない場面が想像できないのだが。
クラスライブラリのコードを紛失したとか笑えないケースを想定しているの?
493デフォルトの名無しさん
2020/06/30(火) 19:48:43.49ID:MKfuvp+I gitや自動ビルドツールの存在がなかった時代の
オブジェクト指向技術は淘汰されてもいいんじゃない?
昔はこれらがなかったからカプセル化で神経質に
防御してたけど
今は無理にパッケージを固めてやり取りすることが
なくなって
gitでソースを差分転送して再ビルドする方式に
切り替わった
旧仕様はブランチを切り分けといて復旧が簡単に
なって、仕様変更に対してそこまでビビらなくて良くなった。
それと自作のアプリのオブジェクトで
webからインストールしたライブラリや
フレームワークが自動生成して提供するもの以外で
それほど長時間状態を保持するような巨大なオブジェクト
構造を自作設計して作成することがあるか?
あるとすれば
webのセッションや
オープンワールドやFPSみたいなゲームくらいか
オブジェクト指向技術は淘汰されてもいいんじゃない?
昔はこれらがなかったからカプセル化で神経質に
防御してたけど
今は無理にパッケージを固めてやり取りすることが
なくなって
gitでソースを差分転送して再ビルドする方式に
切り替わった
旧仕様はブランチを切り分けといて復旧が簡単に
なって、仕様変更に対してそこまでビビらなくて良くなった。
それと自作のアプリのオブジェクトで
webからインストールしたライブラリや
フレームワークが自動生成して提供するもの以外で
それほど長時間状態を保持するような巨大なオブジェクト
構造を自作設計して作成することがあるか?
あるとすれば
webのセッションや
オープンワールドやFPSみたいなゲームくらいか
494デフォルトの名無しさん
2020/06/30(火) 20:19:26.97ID:v2qXZCJh 今でもSIerなんかはコード書き換えないことに固執してるから可視範囲に対して神経質なんだよ。
495デフォルトの名無しさん
2020/06/30(火) 20:27:32.13ID:+5DxT57L >>492
それは「テストの時にだけpublicに変えればいいじゃん」か「privateはpublicに内在してるから直接テストする必要ないじゃん」のどっちの意味ですか?
それは「テストの時にだけpublicに変えればいいじゃん」か「privateはpublicに内在してるから直接テストする必要ないじゃん」のどっちの意味ですか?
496デフォルトの名無しさん
2020/06/30(火) 20:58:39.82ID:Ya6sc1A9 >>492
コード紛失してなくても他社開発のをガッチャンコだと手が出せないでしょ。
コード紛失してなくても他社開発のをガッチャンコだと手が出せないでしょ。
497デフォルトの名無しさん
2020/06/30(火) 20:58:42.09ID:ww2Xd+MO × テストの時にだけpublicに変えればいいじゃん
○ テストがやりにくいというのは設計がまずいということ
自然な形でpublicになるような設計を改善すべきだ
○ テストがやりにくいというのは設計がまずいということ
自然な形でpublicになるような設計を改善すべきだ
498デフォルトの名無しさん
2020/06/30(火) 20:59:02.71ID:Ya6sc1A9 小規模なら問題ない
499デフォルトの名無しさん
2020/06/30(火) 21:38:14.42ID:BIUXizBX 他社のコードをテストすんの?
500デフォルトの名無しさん
2020/06/30(火) 22:07:21.34ID:GiU27GCt >>497
はぁ?バカはレスすんなよ
はぁ?バカはレスすんなよ
501デフォルトの名無しさん
2020/06/30(火) 22:42:13.84ID:zKRJDZmr >>499
そりゃ結合試験はするだろ
そりゃ結合試験はするだろ
502デフォルトの名無しさん
2020/06/30(火) 23:23:26.17ID:BIUXizBX >>501
結合試験時に他社コードのprivateメソッドを態々呼出してテストすんの?
結合試験時に他社コードのprivateメソッドを態々呼出してテストすんの?
503途中から見た。
2020/07/01(水) 00:09:32.11ID:vgPSMoJs >>495
よくわからないが...強いて言うなら後者?
第一、クラスって実装者が責任を持ってテストするものだろう。
なんで、privateで定義されたものをpublicにして呼び出そうとするのかも、正直、わからない。
ブラックボックステストでもしたいの?
まぁ、ブラックボックステストってprivateメソッドを呼び出せば成立するかというと、違うと思うけど。
正直、何がしたいのかわからなさすぎて困惑している。
よくわからないが...強いて言うなら後者?
第一、クラスって実装者が責任を持ってテストするものだろう。
なんで、privateで定義されたものをpublicにして呼び出そうとするのかも、正直、わからない。
ブラックボックステストでもしたいの?
まぁ、ブラックボックステストってprivateメソッドを呼び出せば成立するかというと、違うと思うけど。
正直、何がしたいのかわからなさすぎて困惑している。
504デフォルトの名無しさん
2020/07/01(水) 00:11:23.37ID:Dh09feZF >第一、クラスって実装者が責任を持ってテストするものだろう。
これが守られてりゃこのスレみたいな議論は起こらんわ。
これが守られてりゃこのスレみたいな議論は起こらんわ。
505デフォルトの名無しさん
2020/07/01(水) 00:22:36.05ID:dTufBNXb 守るも何もクラスに不具合があれば実装者の責任だろ
って言うのが通用しないのか?
って言うのが通用しないのか?
506デフォルトの名無しさん
2020/07/01(水) 00:26:31.70ID:Dh09feZF 責任といってももういない奴に責任は取れんわな。
507デフォルトの名無しさん
2020/07/01(水) 00:33:27.93ID:XAYXSYxH 客先に納めたプログラムを客先が勝手に変更したら責任は外れる契約になってると思う
これは弊社の納めたプログラムではありませんってなるから
社内で引き継いだなら文句を言うのは自由だが任された者がなんとかしろの精神だろ
これは弊社の納めたプログラムではありませんってなるから
社内で引き継いだなら文句を言うのは自由だが任された者がなんとかしろの精神だろ
508デフォルトの名無しさん
2020/07/01(水) 00:43:31.96ID:Dh09feZF クラスごとにしっかりテストがあって
引き継ぎがしっかりされる職場ばかりなら何の問題もないだろうね。
とても幸せな世界でいいですね。
引き継ぎがしっかりされる職場ばかりなら何の問題もないだろうね。
とても幸せな世界でいいですね。
509デフォルトの名無しさん
2020/07/01(水) 01:04:03.02ID:Ke5amsYp まだ続いてたか
結局問題は出来の悪いモジュールをどうするかって話だろ
結局問題は出来の悪いモジュールをどうするかって話だろ
510デフォルトの名無しさん
2020/07/01(水) 01:36:00.07ID:bx11ZQ99 違うよ
visualstudioがテストプロジェクトでprivateをpublicみたいに呼べるようにするだけ
visualstudioがテストプロジェクトでprivateをpublicみたいに呼べるようにするだけ
511デフォルトの名無しさん
2020/07/01(水) 06:19:16.09ID:y/Wgtnem >>503
privateを呼び出す必要があるってのはUnit Testの時で、実装者とテスターが同一人物かどうかは関係ないよ。
オブジェクト指向に限らずテスト理論の話になっちゃうんだけど、プロジェクトや規格で指定されるUnit Testの種類によってはpublic経由でprivate呼び出してたら組合せ爆発してテストドライバやスタブの開発やレビューだけで多大な工数が必要になってやってられなくなる。
なので十分に単純化されたprivateを含めて関数毎にテストする必要が出てくるのよ。
privateを呼び出す必要があるってのはUnit Testの時で、実装者とテスターが同一人物かどうかは関係ないよ。
オブジェクト指向に限らずテスト理論の話になっちゃうんだけど、プロジェクトや規格で指定されるUnit Testの種類によってはpublic経由でprivate呼び出してたら組合せ爆発してテストドライバやスタブの開発やレビューだけで多大な工数が必要になってやってられなくなる。
なので十分に単純化されたprivateを含めて関数毎にテストする必要が出てくるのよ。
512デフォルトの名無しさん
2020/07/01(水) 06:46:59.11ID:5jdJ/dE3513デフォルトの名無しさん
2020/07/01(水) 06:53:14.54ID:lozEWamw >>511
> public経由でprivate呼び出してたら組合せ爆発してテストドライバやスタブの開発やレビューだけで多大な工数が必要になってやってられなくなる。
そういうことだよね。だからそれはpublicメソッドが行ってる機能が多すぎるわけで
複数のpublicメソッドに分解するわけ。これが設計。
適切な関数の行数って思ったより短いものだから。
俺の場合、一部のcaseテーブルのようなものを除いてロジックと呼べるようなものがあるコードは
長いもので1関数30行〜40行程度半分以上は10行程度だよ
> public経由でprivate呼び出してたら組合せ爆発してテストドライバやスタブの開発やレビューだけで多大な工数が必要になってやってられなくなる。
そういうことだよね。だからそれはpublicメソッドが行ってる機能が多すぎるわけで
複数のpublicメソッドに分解するわけ。これが設計。
適切な関数の行数って思ったより短いものだから。
俺の場合、一部のcaseテーブルのようなものを除いてロジックと呼べるようなものがあるコードは
長いもので1関数30行〜40行程度半分以上は10行程度だよ
514デフォルトの名無しさん
2020/07/01(水) 08:23:11.98ID:y4QPMVjI >>512
何時何分何秒地球が何周回ったときに言いましたかーみたいな煽りだな
何時何分何秒地球が何周回ったときに言いましたかーみたいな煽りだな
515デフォルトの名無しさん
2020/07/01(水) 08:27:13.77ID:3Re1TFuk516途中から見た。
2020/07/01(水) 11:10:06.09ID:LiVkSFt2 結合テストと総合テストって同じ意味なのか?
517デフォルトの名無しさん
2020/07/01(水) 12:14:34.41ID:hgyYQ8XK 総合テストって検収テストと同じじゃね?
518デフォルトの名無しさん
2020/07/01(水) 12:24:10.62ID:wljUBRxY テストの呼び方はプロジェクトによって違うからなんとも言えんなぁ
519途中から見た。
2020/07/01(水) 12:36:28.97ID:LiVkSFt2 なんというか...コミュニケーションがまともにとれていないのでは?
恐らく、他人の作ったライブラリに対して単体テストをお前はやるのか?という意図で聞いた質問に、結合試験はするだろと回答したり、
結合試験と総合試験という字面で見ると似ているけど全然違う話を混在させたり、
似ているようで関係のない話を持ち出して混沌としているな。
語りたい事の本質が行方不明になっているように見える。
恐らく、他人の作ったライブラリに対して単体テストをお前はやるのか?という意図で聞いた質問に、結合試験はするだろと回答したり、
結合試験と総合試験という字面で見ると似ているけど全然違う話を混在させたり、
似ているようで関係のない話を持ち出して混沌としているな。
語りたい事の本質が行方不明になっているように見える。
520デフォルトの名無しさん
2020/07/01(水) 14:20:36.35ID:JqIYLyXt >>512は総合じゃなく統合って書いてるぞ
結合テストのことを統合テストと呼ぶところもある
結合の度合いによって結合、統合、総合とそれぞれ分けてるところもある
単なる読み間違いなのか結合 = 統合の意味で使ってるのかは知らんけど
結合テストのことを統合テストと呼ぶところもある
結合の度合いによって結合、統合、総合とそれぞれ分けてるところもある
単なる読み間違いなのか結合 = 統合の意味で使ってるのかは知らんけど
521途中から見た。
2020/07/01(水) 14:54:20.92ID:LiVkSFt2 うわっ!恥ずかしいミスをしてたのは自分だったか。あとで、読み直す...。
522デフォルトの名無しさん
2020/07/01(水) 17:50:33.35ID:1PwA88RR visualstudioのテストプロジェクトが不甲斐ないってだけやし
523デフォルトの名無しさん
2020/07/02(木) 19:42:17.69ID:84e/i8uV privateメソッドテストするとか正気?
テストしなくてよくするためのprivateだろ
テストしなくてよくするためのprivateだろ
524デフォルトの名無しさん
2020/07/02(木) 19:49:51.80ID:iX514c6x テストする必要があるというのは
全部書き直した方がましということだが
全部書き直した方がましということだが
525デフォルトの名無しさん
2020/07/02(木) 20:08:44.37ID:/yt09sjO526デフォルトの名無しさん
2020/07/02(木) 20:10:40.42ID:/yt09sjO マイクロソフトに頼らんで独自にテストプロジェクト作ってるような会社はできてんで
visualstudioの都合でテストやりたくないって言ってるだけだろクズども
visualstudioの都合でテストやりたくないって言ってるだけだろクズども
527デフォルトの名無しさん
2020/07/02(木) 20:46:21.86ID:Vurtjy2V 関数どころか変数に至るまで一つ一つ丁寧に検査してましたわ。
528デフォルトの名無しさん
2020/07/02(木) 21:29:57.44ID:lIo9GiA1 >>525
どんだけ巨大なクラスでも全部privateだと外から一切呼び出せないデッドコードになるのでテストする意味さえないだろ。
どんだけ巨大なクラスでも全部privateだと外から一切呼び出せないデッドコードになるのでテストする意味さえないだろ。
529デフォルトの名無しさん
2020/07/02(木) 21:35:43.34ID:UKbwg08G >>528
せやかてpublic通してたら結合テストじゃんw
せやかてpublic通してたら結合テストじゃんw
530デフォルトの名無しさん
2020/07/02(木) 21:36:02.64ID:UKbwg08G unit testの意味わかっとんのけ?
531デフォルトの名無しさん
2020/07/02(木) 21:37:29.20ID:7zBU/W9S プロジェクトによって違ってたなあ
532デフォルトの名無しさん
2020/07/02(木) 21:40:09.15ID:UKbwg08G533デフォルトの名無しさん
2020/07/02(木) 22:14:17.02ID:/yt09sjO >>528
Form1とかそんな感じじゃん
Form1とかそんな感じじゃん
534デフォルトの名無しさん
2020/07/03(金) 07:01:01.95ID:Ul5hp/bW >>525
誰も使わんからテスト不要だね
誰も使わんからテスト不要だね
535デフォルトの名無しさん
2020/07/03(金) 08:34:55.79ID:zR3byV+3 >>532
それは珍しいな
それは珍しいな
536デフォルトの名無しさん
2020/07/03(金) 08:56:10.03ID:N+TCe3uh これは酷い。RFC 3439はネットワークの仕様の話であってオブジェクト志向なんか
一切関係ないし、プログラミングの話でもない。
偏差値が低い学校でだけ教えてた事実なんてないしアメリカの大規模システムは
全部OOでカプセル化が基本。
的外れすぎて開いた口が塞がらない。これ書いた人間が全く一切わかってないのはよくわかった。
一切関係ないし、プログラミングの話でもない。
偏差値が低い学校でだけ教えてた事実なんてないしアメリカの大規模システムは
全部OOでカプセル化が基本。
的外れすぎて開いた口が塞がらない。これ書いた人間が全く一切わかってないのはよくわかった。
537デフォルトの名無しさん
2020/07/03(金) 09:22:53.27ID:r9jTvXIP >>536
わざとバカなことを言って他の人が本気で反論や議論してくるのを笑ってる可能性もゼロではないが、まあ単に本物のバカという可能性のが高いと思う
わざとバカなことを言って他の人が本気で反論や議論してくるのを笑ってる可能性もゼロではないが、まあ単に本物のバカという可能性のが高いと思う
538デフォルトの名無しさん
2020/07/03(金) 10:20:55.42ID:N+TCe3uh >>537
本気感が凄いね。反論とかしようがない1から10まで間違ってるレベルだし。
本気感が凄いね。反論とかしようがない1から10まで間違ってるレベルだし。
539デフォルトの名無しさん
2020/07/03(金) 10:22:52.04ID:N+TCe3uh こんなんでもRFC確認する人なんてほとんどいないだろうし、クラウドがあるじゃないですか!
のレベルの日本ではショーンK的に通用しそうというか、結構このスレでも通用してるのがおっかない。
のレベルの日本ではショーンK的に通用しそうというか、結構このスレでも通用してるのがおっかない。
540デフォルトの名無しさん
2020/07/03(金) 10:25:42.60ID:lDWf2b6S Javaで外クラスから内クラスのprivateメンバが見れるのはなぜですか?
超論理的思考によるとどう考えても理論に欠陥があり矛盾してる。
みなさんはこのJavaにおけるクラス体系をおかしいと思いながら割りきって使ってるのですよね?
超論理的思考によるとどう考えても理論に欠陥があり矛盾してる。
みなさんはこのJavaにおけるクラス体系をおかしいと思いながら割りきって使ってるのですよね?
541デフォルトの名無しさん
2020/07/03(金) 10:27:37.08ID:N+TCe3uh 単に道具だから自分で考えて必要なら使えば良い訳で。
カプセル化ってのはつまり部署ごとにお前のところはお前で責任を持て、
お前が変えたからって他の部署に仕事をさせるな、ということだから、
それができてればなんでも良い。
カプセル化ってのはつまり部署ごとにお前のところはお前で責任を持て、
お前が変えたからって他の部署に仕事をさせるな、ということだから、
それができてればなんでも良い。
542デフォルトの名無しさん
2020/07/03(金) 11:40:51.40ID:x82j4VqA 複数の開発会社が絡む大規模案件と
一社開発や個人開発の小規模案件を
ゴッチャゴチャにして同列で語り合うから、話が噛み合わないし、話が終わらないんよ。
一社開発や個人開発の小規模案件を
ゴッチャゴチャにして同列で語り合うから、話が噛み合わないし、話が終わらないんよ。
543デフォルトの名無しさん
2020/07/03(金) 11:47:43.16ID:Gy+Up1+B544デフォルトの名無しさん
2020/07/03(金) 11:51:37.50ID:uIgOlo/V545デフォルトの名無しさん
2020/07/03(金) 11:53:31.15ID:N+TCe3uh そもそもOOとかは大規模開発するために出てきた手法だから個人で小さいもの
作ってるなら関数でもスパゲッティでも本人わかってりゃいいわけだし、昔は
関数でも部署ごとで話し合ってちゃんとやってたけど、どうしても直接アクセスして
変更の際ぶっ壊れるようなものを作るやつが出るから、じゃあもう見せなきゃそういう
事態は起こらないということで実際それはうまくいってる。
個人のソフトとかは好きにすれば良いし、好きにできるようになってるんだから
それぞれ道具を自分の必要に応じて使って勝手にやれば良い。
作ってるなら関数でもスパゲッティでも本人わかってりゃいいわけだし、昔は
関数でも部署ごとで話し合ってちゃんとやってたけど、どうしても直接アクセスして
変更の際ぶっ壊れるようなものを作るやつが出るから、じゃあもう見せなきゃそういう
事態は起こらないということで実際それはうまくいってる。
個人のソフトとかは好きにすれば良いし、好きにできるようになってるんだから
それぞれ道具を自分の必要に応じて使って勝手にやれば良い。
546デフォルトの名無しさん
2020/07/03(金) 11:59:07.38ID:Gy+Up1+B >>544
「privateはxunit testingしなくていい」と言われる理由はそこだ
他のクラスとの関わりとして必要な仕様は非privateメンバのみに着目すればいい
publicメンバの振る舞いが変わらずすべてのテストをパスできるならprivateがどう変更されようが他のクラスからは関係ないからな
「privateはxunit testingしなくていい」と言われる理由はそこだ
他のクラスとの関わりとして必要な仕様は非privateメンバのみに着目すればいい
publicメンバの振る舞いが変わらずすべてのテストをパスできるならprivateがどう変更されようが他のクラスからは関係ないからな
547デフォルトの名無しさん
2020/07/03(金) 12:07:31.88ID:uIgOlo/V つまりprivateをテストするってことは仕様が明確になってるわけで
publicにしても問題ないってことだよね
publicにしても問題ないってことだよね
548デフォルトの名無しさん
2020/07/03(金) 12:07:34.57ID:Gy+Up1+B 勢いで書いたから非privateとpublicがごっちゃになってるけどこの手の話題でpublicと書いてあったら全部非privateと読み替えて下さい
549デフォルトの名無しさん
2020/07/03(金) 12:10:41.37ID:BB9T+E2r >>540
超論理的思考によるとって、論理を超えた思考なんかされたって会話にならないから、論理的思考をした上で疑問があれば相談してくれ。
超論理的思考によるとって、論理を超えた思考なんかされたって会話にならないから、論理的思考をした上で疑問があれば相談してくれ。
550デフォルトの名無しさん
2020/07/03(金) 12:16:49.80ID:N+TCe3uh Privateをテストするかどうかはプロジェクトごとのテストのやり方次第だし、
なんのテストかにもよるわけで。
デベロッパーテストなら当然するだろうし、リグレッションテストで普通は
プライベートメソッドをテストしないだろう。
その辺はカプセル化とかOOとかはあまり関係の無い話。
なんのテストかにもよるわけで。
デベロッパーテストなら当然するだろうし、リグレッションテストで普通は
プライベートメソッドをテストしないだろう。
その辺はカプセル化とかOOとかはあまり関係の無い話。
551デフォルトの名無しさん
2020/07/03(金) 12:22:55.88ID:hDsckVNf privateもテストしろよハゲ
552デフォルトの名無しさん
2020/07/03(金) 12:26:06.83ID:sqXfkC+n privateをpublicにしてもいいよねって言ってるやつは、改修で命名とかしたことないんかな
553デフォルトの名無しさん
2020/07/03(金) 12:26:36.41ID:hDsckVNf どこの現場でも通じないトンデモ理論を前面に出して話してんじゃねーぞガイジ
554デフォルトの名無しさん
2020/07/03(金) 12:29:48.69ID:Gy+Up1+B >>551
クラスの仕様変更でpublicになったときに追加すればいい
極端な話、複数のpublicメンバの中でprivateAとprivateBが使われてて各privateの挙動は実装者の想定と実は違ったとしてもすべてのpublicメンバの挙動が仕様通りなら(クラス仕様変更して変なバグを引く羽目になるまで)なんの問題もない
その時対処する事案
クラスの仕様変更でpublicになったときに追加すればいい
極端な話、複数のpublicメンバの中でprivateAとprivateBが使われてて各privateの挙動は実装者の想定と実は違ったとしてもすべてのpublicメンバの挙動が仕様通りなら(クラス仕様変更して変なバグを引く羽目になるまで)なんの問題もない
その時対処する事案
555デフォルトの名無しさん
2020/07/03(金) 12:55:27.30ID:MMMvRh6C privateな状態を確認するテストのがテスト数が減る。
二つのpublicなメソッドの関連をテストする場合、
n*m になるが
状態が k 個の場合、 (n + m)*k になるわけだよ。
無理にpublicだけのテストを書くことがどれだけアホか。
二つのpublicなメソッドの関連をテストする場合、
n*m になるが
状態が k 個の場合、 (n + m)*k になるわけだよ。
無理にpublicだけのテストを書くことがどれだけアホか。
556デフォルトの名無しさん
2020/07/03(金) 13:00:40.80ID:lDWf2b6S Javaで外クラスから内クラスのprivateメンバが見れるのはなぜですか?
論理的思考によるとどう考えても理論に欠陥があり矛盾してる。
みなさんはこのJavaにおけるクラス体系をおかしいと思いながら割りきって使ってるのですよね?
論理的思考によるとどう考えても理論に欠陥があり矛盾してる。
みなさんはこのJavaにおけるクラス体系をおかしいと思いながら割りきって使ってるのですよね?
557デフォルトの名無しさん
2020/07/03(金) 13:19:27.55ID:Gy+Up1+B >>555
privateテストでテスト数減るならその方がいいのは自分も同意
誤 privateはテストしなければならない
誤 privateはテストしてはならない
正 必要なテストだけ簡単になるように書けば良い
privateテストでテスト数減るならその方がいいのは自分も同意
誤 privateはテストしなければならない
誤 privateはテストしてはならない
正 必要なテストだけ簡単になるように書けば良い
558デフォルトの名無しさん
2020/07/03(金) 13:48:21.04ID:BB9T+E2r■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪 ★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- カカロット、腰痛い
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 【!?】高市早苗「靖国神社電撃参拝プラン」浮上!これもう戦争だろ… [481941988]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
