- 1 名前:デフォルトの名無しさん [2020/06/18(木) 23:47:36.69 ID:l/2SQUll.net]
- カプセル化(英語: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)
- 679 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:19:46.76 ID:M3d71N9d.net]
- >>654
> だが、テスト工程...特に単体テストでprivateをpublicにするのはアウト。 ウォーターフォール開発? テストで問題が出ても問題を上流に戻したらだめって バグが出ても直したらいかんのかよw
- 680 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:20:53 ID:M3d71N9d.net]
- >>654
> プログラマーの開発工程におけるデバッグ及び動作確認とテストを混同させていないか? 今はプログラマーの開発工程におけるデバッグの話ですよ? 動作確認でprivateメソッドを呼んでテストなんてしませんから
- 681 名前:デフォルトの名無しさん [2020/07/04(土) 12:21:57 ID:pmIasW6W.net]
- >>652
大丈夫かなって正直に思っただけ、君が引用だと思っててもt_wadaさんが勝手に転載してんじゃねえ ぶっ殺すぞと思ってたらやばいじゃん、t_wadaさんって人を僕は知らないから 君がすごくぶっ殺されたりとかしないかなって思っただけ t_wadaさんの話を振ったのは君ですよ t_wadaさんを知らないのかー遅れてるーうひょーって有頂天になって書き込んでたのは君ですよ 僕は内容の話をしましたよ
- 682 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:22:14 ID:czCytfqY.net]
- > テストは本番と同じ状態を保たないと駄目だよ。
これを曲解されても困るから補足説明するけど、単体テストって、クラス単体のテストのことな? クラスを動かすための環境は自由に変えてもいいけど、クラスそのものを弄りかえるなって意味だからな?
- 683 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:24:12.62 ID:xAj06qrt.net]
- テストがでかけるアサートと本番動作は普通は異なるがな。
なんでも統一させようとして無理が出るから public, privateの議論はくだらんなと思うわけだ。
- 684 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:28:01.42 ID:czCytfqY.net]
- >>657
>>631でなんで、俺に反論した。
- 685 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:33:59.87 ID:M3d71N9d.net]
- >>658
やっぱりまだ人の話を続けるんですねw t_wadaさんが言った「内容」の話をしましょうね 負け組おじさんw
- 686 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:34:18.71 ID:M3d71N9d.net]
- >>661
知らんがなw
- 687 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:35:58.47 ID:M3d71N9d.net]
- >>660
クラスを動かすための環境というのはクラスの外界ってことはわかってるか? クラスの外界は変えていいから、テストコードから呼び出すし クラスの中で呼んでいる外界をモックやスタブで置き換えていいんだよ
- 688 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:37:35.05 ID:exw+beGf.net]
- テストの前提として、テストされるコードをいじってはいけない
テストのためにコードをいじってテストが終わったらコードを戻すんだと 本来のコードが仕様通り動くことが保証できない いじるのなら納品物が変わってくる
- 689 名前:デフォルトの名無しさん [2020/07/04(土) 12:38:43.12 ID:pmIasW6W.net]
- >>662
t_wadaさんを知らないのかーって言ったのは君で これがt_wadaさんの神々しい高貴な文章なんだーと引用したのは君じゃん 僕はそれを読みました。読んだ感想を今から言います。よく聞いてください。 privateメソッドをテストするべきだと思いました。
- 690 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:43:46.70 ID:M3d71N9d.net]
- >>665
> テストの前提として、テストされるコードをいじってはいけない > テストのためにコードをいじってテストが終わったらコードを戻すんだと いるじもなにもコードなんか変更しないだろ
- 691 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:44:39.72 ID:M3d71N9d.net]
- >>666
だからお前の感想は聞いてないって言ったよね? 少しはまともな意見も言えるかと思えば感想しかいない。 まあ意見を言った所で専門家よりも説得力がでるとは思えないがなw
- 692 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:47:54.13 ID:9ghyGMpS.net]
- >>654
ユニットテストする時は原則毎回新しいインスタンス作るので内部状態はリセットされるよ。 シングルトンがユニットテストやりにくいって言われる理由はこれ。
- 693 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:48:05.39 ID:M3d71N9d.net]
- >>666
> t_wadaさんを知らないのかーって言ったのは君で それは違うよねw 俺がとある専門家の「意見」を持ってきたら、 そいつは誰だーって言い出したのはお前だよねw ↓はい証拠 629 名前:デフォルトの名無しさん[] 投稿日:2020/07/04(土) 11:53:42.19 ID:pmIasW6W [22/31] >>624 誰だよそれ、YouTuberか? 権威主義的に誰かにすがりつくような真似をするな!
- 694 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 12:58:30.51 ID:wkevF9GB.net]
- privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
- 695 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:01:25.78 ID:M3d71N9d.net]
- 専門家の意見としては
パブリックメソッド経由でテストする 多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。 テストできているか不安があるならテストカバレッジを確認しましょう。 別クラスのパブリックメソッドとする プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを 示唆している場合があります。テストがどうしても書きたい場合は、その責務はテスト対象の プライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。テスト対象の プライベートメソッドを「クラスの抽出」や「メソッド/関数の移動」を使って、テスト対象の コラボレータのパブリックメソッドとして抽出し、普通にパブリックメソッドとしてテストしましょう。
- 696 名前:デフォルトの名無しさん [2020/07/04(土) 13:02:51.44 ID:pmIasW6W.net]
- >>670
君が先にその人を出して 僕が誰それなんでそんなの書いたのって聞いただけだよ そしたら君がt_wadaを知らないのかーって有頂天になったんじゃん 君はt_wadaさんに憧れてるんでしょ? だからt_wadaさんが書いた文章を引用したんでしょ 憧れとは理解とは最も遠い感情だってプリキュアが言ってました 僕が誰に憧れてるかはわかりますね?
- 697 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:06:20.56 ID:M3d71N9d.net]
- >>673
> 僕が誰それなんでそんなの書いたのって聞いただけだよ だから人に興味があるってことだよね? 無名の人なら、そんな無名なんか知るかー 有名な人なら、権威にすがるなー っていうんでしたっけ?w どちらにしろ意見に興味がなく 最初から「人」に文句をつけようと思って、誰か聞いたんでしょ?
- 698 名前:デフォルトの名無しさん [2020/07/04(土) 13:10:46.18 ID:pmIasW6W.net]
- >>674
t_wadaのブログってリンク提示されてもなにそれとしか思わないから 君がt_wada本人でこれが僕の考えだって示したならなるほどそういうことか privateメソッドはテストするべきだって思うけど 議論の最中にt_wadaのブログを出されても何いってんだこいつとしか思わない よくよく話を聞いてみると君はt_wadaさんのことが大変気に入っていて 憧れていてt_wadaさんの言うことは絶対だと思っている 君はt_wadaさんの権威にすがってるだけのつまらない人間なのじゃないかと僕は疑っています
- 699 名前:デフォルトの名無しさん [2020/07/04(土) 13:12:22.76 ID:pmIasW6W.net]
- 外人が書いた本を翻訳しただけで専門家でもなんでもないんじゃない?
- 700 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:12:24.10 ID:M3d71N9d.net]
- > t_wadaのブログってリンク提示されてもなにそれとしか思わないから
はい、内容を呼んでないと自白しましたw なんのために内容の一部まで引用したと思ってるんでしょうかね 読まずに誰それと「人」に文句をつけるための 質問しかしませんでした。
- 701 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:12:47.77 ID:M3d71N9d.net]
- >>676
お前の希望を言われたもなぁw
- 702 名前:575 mailto:sage [2020/07/04(土) 13:13:09.28 ID:sra5+07B.net]
- なんで今朝の575からこんなに進んでるの...
- 703 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:13:57.68 ID:MJUVFEDB.net]
- 子供の喧嘩ですw
- 704 名前:デフォルトの名無しさん [2020/07/04(土) 13:13:59.57 ID:pmIasW6W.net]
- >>677
どうしてその内容を引用したの? 君はそれが正しいと思ったの? その根拠は提示できる? できないでしょ、君はt_wadaを専門家だと思ってて 専門家の言うことは正しいのだ、だから内容が正しいのだと思い込んでいる だからその内容を引用して何かを示した気になってるだけ
- 705 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:14:24.44 ID:M3d71N9d.net]
- >>679
根拠ない主張を繰り返すだけのやつが登場するとそうなるよw
- 706 名前:デフォルトの名無しさん [2020/07/04(土) 13:14:41.46 ID:pmIasW6W.net]
- >>678
外人が書いた本を翻訳したら専門家なのか? そっちの方が希望じゃん
- 707 名前:デフォルトの名無しさん [2020/07/04(土) 13:15:16.84 ID:pmIasW6W.net]
- >>682
専門家という肩書の権威にすがりつく君のことかな?
- 708 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:15:33.49 ID:M3d71N9d.net]
- >>681
正しい根拠はすでに上の方で何度も言ってるじゃんw それを補完するために専門家の意見を持ってきただけで じゃあ反対にお前の言うことが正しいという根拠はなんだよ?
- 709 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:15:46.59 ID:xAj06qrt.net]
- >>665
その辺は結局組織がどうコードを管理するかってだけの話だ。 バカみたいにがんじがらめにした結果誰もコードをいじらない(リファクタリングしない) ってことにしかならん。
- 710 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:16:11.64 ID:M3d71N9d.net]
- >>683
> 外人が書いた本を翻訳したら専門家なのか? そっちの方が希望じゃん 翻訳「も」してるだけだろw
- 711 名前:デフォルトの名無しさん [2020/07/04(土) 13:17:04.15 ID:pmIasW6W.net]
- >>668
t_wadaさんの文章はt_wadaさんの感想でしかないよ
- 712 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:17:18.71 ID:M3d71N9d.net]
- どうやら翻訳は副業らしいなw
- 713 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:18:06.68 ID:M3d71N9d.net]
- >>688
意見と感想の違いぐらいつけようよw 話は簡単じゃないか t_wadaさんの意見と お前の感想 説得力があるかどうかだよ
- 714 名前:575 mailto:sage [2020/07/04(土) 13:18:30.04 ID:sra5+07B.net]
- とりあえず、落ち着け。
議題がよくわからんが、落ち着け...落ち着くのだ。
- 715 名前:デフォルトの名無しさん [2020/07/04(土) 13:19:53.55 ID:pmIasW6W.net]
- >>687
いやいや翻訳だけが全実績じゃん t_wadaさんがprivateメソッドをテストせずにとても すばらしいシステムを構築していま全世界で使われてますってことないじゃん 翻訳したからまるで本物の執筆者のように思われてあたかも専門家のように思い込まれてるだけで 専門家でもなんでもなくただの翻訳者だよ
- 716 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:20:32.65 ID:MJUVFEDB.net]
- いいんだよ、元から不毛なネタのスレだw
- 717 名前:デフォルトの名無しさん [2020/07/04(土) 13:21:46.90 ID:pmIasW6W.net]
- >>690
君が説得力を
- 718 名前:感じたら意見になり、
説得力を感じなかったら感想になるってだけじゃんそれ なにそのガバガバな日本語運用 わかりましたでは今から僕が君を説得してみせます、よく聞いてください privateメソッドはテストするべきです [] - [ここ壊れてます]
- 719 名前:575 mailto:sage [2020/07/04(土) 13:21:53.40 ID:sra5+07B.net]
- >>693
それもそうか(諦め) 内容は読んでないけど、まぁ、ROMるか。
- 720 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:22:11.62 ID:M3d71N9d.net]
- >>692
なんでググらないでウソ書くの? そうやって他の人を騙そうとしてるでしょ https://t-wada.hatenablog.jp/entry/clean-code-that-works 職業はコンサルタントであり、プログラマです。最近では技術顧問としてもいくつかの会社を支援しています。 また、自分の自由になる時間には、オープンソースソフトウェアの開発を行っています。 本業はプログラマでありコンサルタントですが、副業としては技術書の出版、具体的には監訳や翻訳に関わっています。 JavaScript でテストを書く際のハードルを大幅に下げるために開発した power-assert は、 Mocha や Jest と組み合わせて使え、 AVA には既に内蔵されており、ありがたいことに世界中で使われるプロダクトまで育ちました。 ひとつ例を挙げるなら、アリババグループで採用頂き、アリペイやアリババクラウドのテストに使われているという話です。 んで、こういう人に比べて、お前はなにかすごいことしたの?
- 721 名前:デフォルトの名無しさん [2020/07/04(土) 13:25:12.35 ID:pmIasW6W.net]
- >>696
営業努力の賜物やろな、頑張ってるんやなt_wadaさん 僕がなにかしたのかという質問ですが僕はすごいことを発見しました privateメソッドはテストした方が良いです
- 722 名前:デフォルトの名無しさん [2020/07/04(土) 13:25:49.67 ID:pmIasW6W.net]
- ほんまt_wadaさん好きやな
- 723 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:26:38 ID:M3d71N9d.net]
- >>698
t_wadaさん以外にすごい人がいたら教えて下さいw
- 724 名前:デフォルトの名無しさん [2020/07/04(土) 13:31:25 ID:pmIasW6W.net]
- >>699
他人に憧れをいだいて必要以上に持ち上げるのが僕は気持ち悪く感じます 僕はすごい人ですが、君に憧れられるのは気持ち悪いです、なのでごめんなさい
- 725 名前:デフォルトの名無しさん [2020/07/04(土) 13:31:55 ID:pmIasW6W.net]
- 振ってしまってなんかごめんなさい
- 726 名前:デフォルトの名無しさん [2020/07/04(土) 13:33:19 ID:pmIasW6W.net]
- 他人を必要以上に持ち上げるのって自分に自信がない人がやりがちなので
アドバイスするとしたら色々経験したがいんじゃないかということですね
- 727 名前:デフォルトの名無しさん [2020/07/04(土) 13:34:54.50 ID:KKcCItOc.net]
- IT掲示板群 ttp://x0000.net/forum.aspx?id=15
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net 数学 物理学 化学 生物学 天文学 地理地学 IT 電子 工学 言語学 国語 方言 など simulationライブラリで純粋な関数式プログラミングをする ttp://x0000.net/topic.aspx?id=3631-0 UIライブラリ (C#, 2D) を作ったよ ttp://x0000.net/topic.aspx?id=3688-0 連続と離散を統一した! ttp://x0000.net/topic.aspx?id=3709-0 4Dエンジン(画像有り) ttp://x0000.net/topic.aspx?id=3677-0 matrixのライブラリ ttp://x0000.net/topic.aspx?id=3711-0 ある強力なFor関数 ttp://x0000.net/topic.aspx?id=3630-0 SQLライブラリ ttp://x0000.net/topic.aspx?id=3675-0 ☆ VMを書いた(C#) * x86ではない! ttp://up.x0000.net/files/TSimulang.zip ☆ malloc / free を実装してみた (C#) ttp://up.x0000.net/files/TMallocTest.zip
- 728 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:48:28.05 ID:iuca8iKQ.net]
- 根拠が聞けるかなと思ったターンで
他人の引用を持ってきて権威に頼っただけである場合 議論は終了である 続ける価値がないから
- 729 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:50:52.32 ID:M3d71N9d.net]
- いえ、自分と同じ意見を言ってる人を持ってきただけなので
話は続いてますよ? でもなぜか、話の続きをやめてしまっているのです。 なぜでしょうね(笑)
- 730 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 14:09:00.83 ID:xhESn47n.net]
- プログラム板でコード使って語りもしない時点で両者どちらも無能
プログラマならコードで主張
- 731 名前:デフォルトの名無しさん [2020/07/04(土) 14:17:35.76 ID:pmIasW6W.net]
- >>706
有能さんあざーす!コードどこ?
- 732 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 14:19:05.65 ID:JeoapmHS.net]
- privateメソッドとしてどの程度複雑なことをやらせるか、privateメソッドをどの程度使うかについて、感覚の違う2つのスタイルがあるんじゃないか?
一方の極は、privateメソッドには極めて単純なことしかさせず、少しでも複雑な内容なら(他のヘルパークラス等の)publicメソッドに切り出すスタイル。 「privateはpublic経由でのみテストする(直接はテストしない)」という方針を採る場合には、privateメソッドの内容は非常にシンプルな内容に限らざるを得ないし、逆にそうしないと>>555指摘の組み合わせ爆発の問題を回避できない。 >>624と>>649で紹介されている議論や、>>588はこの立場なんだろう。 このスタイルでは、下記のスタイルでは1つのprivateメソッドで処理できる内容を、複数のクラスに属するメソッドの協調関係で処理することになる。 これを適切な機能分化がされていると肯定的に捉えるか、必ずしも汎用性があるわけではない小さなヘルパークラスが増えることになり、見通しが悪くなると否定的に捉えるかは考え方によるだろう。 もう一方の極は、privateメソッドだからといって、内容をシンプルに限らなければいけない必然性はないというスタイル。>>589は、こちらの立場なんだろう。 このスタイルでは、public経由でprivateのテストをするというのは現実的ではないから、privateメソッドでも直接テストの対象とすることが必要になる。言語機能の関係でprivateを直接テストすることが難しい場合には、テストのやり方に工夫が必要になる。 メリット・デメリットは前記のスタイルの反対。 こんなふうに整理できるんじゃないかと思うが、どうだろう。
- 733 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 14:19:16.92 ID:xhESn47n.net]
- >>707
主張したいことがあるんでないの? それを示すコードもあるやろ?
- 734 名前:デフォルトの名無しさん [2020/07/04(土) 14:20:14.26 ID:pmIasW6W.net]
- >>709
でも僕無能だからコードないよ 君有能だからコードあるよ 早く出すよ
- 735 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 14:22:23.00 ID:xhESn47n.net]
- >>710
俺は別にプログラムのこのスレタイについて主張したいことないからなあw 君はプログラマでプログラムについて何か主張したいんだろ?
- 736 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 14:23:09.56 ID:kiJuYkd6.net]
- privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
- 737 名前:デフォルトの名無しさん [2020/07/04(土) 14:23:22.38 ID:pmIasW6W.net]
- >>711
関係ないよ、早くコード出すよ
- 738 名前:デフォルトの名無しさん [2020/07/04(土) 14:23:44.26 ID:pmIasW6W.net]
- 早くコードだすよ!
- 739 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 14:27:56.17 ID:xhESn47n.net]
- >>714
あーこっちがきちがいだったかw 触れないようにするわ
- 740 名前:デフォルトの名無しさん [2020/07/04(土) 14:28:29.45 ID:pmIasW6W.net]
- www
- 741 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 14:33:12.47 ID:xhESn47n.net]
- このように、コードを使わず偏った主張するやつはだいたい頭がおかしい
この板ではこうやって簡単にこういう奴をあぶり出しできるんよな
- 742 名前:デフォルトの名無しさん [2020/07/04(土) 14:34:10.41 ID:pmIasW6W.net]
- >>717
君、コード出してないよ コード出すよ
- 743 名前:デフォルトの名無しさん [2020/07/04(土) 14:34:57.85 ID:pmIasW6W.net]
- 早 く コ ー ド 出 す よ !
- 744 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 14:51:30.64 ID:xhESn47n.net]
- >>719
^^
- 745 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 14:56:58.97 ID:M3d71N9d.net]
- >>708
> privateメソッドとしてどの程度複雑なことをやらせるか、privateメソッドをどの程度使うかについて、感覚の違う2つのスタイルがあるんじゃないか? privateとかpublicとか関係なく、複雑なことをやらせるなよ 関数はせいぜい一画面程度(50行)ぐらい、大半は20行以下にするもんだ
- 746 名前:デフォルトの名無しさん [2020/07/04(土) 15:00:38 ID:pmIasW6W.net]
- はいはいどうせt_wadaがそう言ってたんだろ
- 747 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:01:31 ID:M3d71N9d.net]
- >>722
また「人」の話かよw
- 748 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:02:35 ID:M3d71N9d.net]
- 権威ある専門家が言ってることだから間違ってます
俺は認めませーんって。どういう気持で言ってるんだろうねw
- 749 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:04:45.61 ID:M3d71N9d.net]
- 俺は「そいつは権威ある専門家
- 750 名前:セ!」って指摘しただけで
勝ったつもりにはなれないなぁ(笑) [] - [ここ壊れてます]
- 751 名前:デフォルトの名無しさん [2020/07/04(土) 15:05:05.57 ID:pmIasW6W.net]
- t_wadaはなんて言ってるんだよ!
- 752 名前:デフォルトの名無しさん [2020/07/04(土) 15:05:39.57 ID:pmIasW6W.net]
- t_wada原理主義
- 753 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:06:52.47 ID:iuca8iKQ.net]
- 必死だなw
- 754 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:07:21.60 ID:gUMCer1d.net]
- 今までたくさんのキチガイPGを見たが
privateメソッドだからテストしないとか言ってるやつだけは許さない テメーの金玉はここで潰す
- 755 名前:デフォルトの名無しさん [2020/07/04(土) 15:10:41.07 ID:pmIasW6W.net]
- ごりごりーごりごりー
そうだ!すりつぶした粉で大根餅作ろうよ!
- 756 名前:575 mailto:sage [2020/07/04(土) 15:11:12.87 ID:sra5+07B.net]
- >>729
問題なのは、そのprivateの挙動をどうやって確認するのかって話なのかな? 単体テスト?総合テスト?それとも実装中しながらのデバッグ作業の話? 正直、未だにどこで揉めているのかわかりません。 誰か議題教えて。
- 757 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:13:12.65 ID:iuca8iKQ.net]
- >>731
> 正直、未だにどこで揉めているのかわかりません。 自転車置き場
- 758 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:14:01.93 ID:M3d71N9d.net]
- >>731
1. public、privateに限らずコードはシンプルにするべき 2. シンプルであるなら、privateはpublicメソッド経由でテストできる 3. publicメソッド経由でやったらprivateがろくにテストできないというなら設計が間違ってる 4. 設計上の問題はバグと言ってもいい。バグなんだから直せ ここまではあってる
- 759 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:17:09 ID:gUMCer1d.net]
- >>731
設計書見ろよゴミカス 書いてないなら死にまくれ
- 760 名前:575 mailto:sage [2020/07/04(土) 15:21:35 ID:sra5+07B.net]
- >>734
なんで、スレの流れに沿って説明しただけの俺がゴミカス呼ばわりされるのかもわからん。何このスレ。 >>576 >>578でも俺の意見ですらない部分に的外れな回答がつくし。
- 761 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:24:14 ID:M3d71N9d.net]
- 動けばOKって考えてる人がどれだけ多いかだな
テストを自動化するという考えがない シンプルな設計をするという発想がない 動けば設計に問題はないと考えている
- 762 名前:デフォルトの名無しさん [2020/07/04(土) 15:29:27 ID:pmIasW6W.net]
- >>735
Welcome to Underground
- 763 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:32:02.34 ID:NXT3QGLz.net]
- >>733
あってるの1だけじゃないかw
- 764 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:34:57 ID:iuca8iKQ.net]
- 叩き台つくった(´・ω・`)
https://ideone.com/1XhPwl
- 765 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 15:39:15 ID:e19OrKR5.net]
- なんかやべえ流れになってるな
とりあえずつっこんどくと 1. unitテストの定義に世界共通の定義など存在しない 2. unitテストという単語はプロジェクト用語であり、プログラム用語ではない 3. マーティンはunitテストという単語と自動テストの単語わけたらいいんじゃない?と提案してる。xunit 4. publicとprivateはクラス設計のため、もっと言えばクラス間の責任範囲のために存在している 5. xunitテストのためだけにprivateをpublicにするのは誤り。本当にやりたければリフレクションでもすればいい 6. c2カバレッジ100%するかどうかは分野次第 7. 我々は十分なシステムを作るのが目的である。完璧なプログラムを作ることが目的ではない。そして十分な利益を獲得することが目的でもある
- 766 名前:575 mailto:sage [2020/07/04(土) 15:57:07.88 ID:sra5+07B.net]
- ちなみに、的はずれって100%君のことね。まぁ、そんなの今更どうでもいいか。
実際、クラスをどんな風にテストするのか興味あるね。
- 767 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:03:21.65 ID:e19OrKR5.net]
- やだよ組み込みが普通だと思ってる人との会話なんかしたくない
- 768 名前:575 mailto:sage [2020/07/04(土) 16:32:24 ID:sra5+07B.net]
- そんなー。
- 769 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:32:41 ID:IaMjsjOG.net]
- >>735
なんだ早く死ねよ
- 770 名前:575 mailto:sage [2020/07/04(土) 16:36:24 ID:sra5+07B.net]
- まぁ、Android開発(アセンブラレベルからJavaアプリレベル)をやってるから、たぶん、大丈夫なはず。
組み込み=staticおじさんのレッテルが貼られがちだけど、 私はstaticおじさんじゃないんだけどなー...
- 771 名前:。
まぁ、アセンブラレベルの階層になると、オブジェクト指向要素なんて微塵もないけど。 [] - [ここ壊れてます]
- 772 名前:575 mailto:sage [2020/07/04(土) 16:37:37.70 ID:sra5+07B.net]
- >>744みたいな知的障害者が時々沸くのはなんで?
- 773 名前:575 mailto:sage [2020/07/04(土) 16:46:14.68 ID:sra5+07B.net]
- もういいや。アホくさ。こんなスレ覗いたのが間違いだったな。
人生を無駄にした気分だ。 このスレを覗く時間を使って別して作業してた方が有意義だったよ。 >>744 君はID変えながら死ね死ね連呼しているみたいだけど、気を付けた方がいいよ。あばよ、中身がない死ぬべき技術者さん。
- 774 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:53:03.01 ID:4XE5L1k5.net]
- プ板、と言うか専門板なんてそれぞれの話題を餌にマウント取り合ったり罵り合ったりする所だから。
相手にしたら負け。
- 775 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 17:09:48.00 ID:O/jhkl6h.net]
- 言語の制約によって思考が制約されてる典型例
カマッてくれる人が量産されて>>1が喜んでる
- 776 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 18:16:38.54 ID:sCZUG34Z.net]
- privateメソッドのテストしないとか言ってるカスとまともに会話するメリットないだろ
- 777 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 18:35:31.64 ID:gmurOIZf.net]
- まあテストやるって言ってもこれくらい意見が違って揉め事になるってのは
結構普通だったりするからそういう勉強にはなってるんでないの。
- 778 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 20:02:50.07 ID:M3d71N9d.net]
- このスレの結論
短くまとめると、プライベートなメソッドのテストを書く必要は 無い と考えています。 パブリックメソッド経由でテストする 多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。 テストできているか不安があるならテストカバレッジを確認しましょう。 別クラスのパブリックメソッドとする プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを 示唆している場合があります。テストがどうしても書きたい場合は、その責務はテスト対象の プライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。テスト対象の プライベートメソッドを「クラスの抽出」や「メソッド/関数の移動」を使って、テスト対象の コラボレータのパブリックメソッドとして抽出し、普通にパブリックメソッドとしてテストしましょう。 テスト対象の可視性を(やや)上げる 例えば Java では、同一のパッケージからのみアクセスできる可視性があり(正式名称ではありませんが 「パッケージプライベート」と呼ばれます)、テストを同一パッケージに配置することでテストから アクセスできるような設計を行うことがあります。(ただし、この質問の場合は JavaScript なので、この手段はとれません) プライベートのまま、リフレクションでアクセスしてテストを書く リフレクションは最後の手段であり、強力な手段でもあります。プロダクトコードに手を入れることが できない状況や、レガシーコード(テストコードの無いコード)に対する「仕様化テスト(Characterization Test)」を 書いているような状況では、リフレクションは唯一の、かつ強力な手段になります。プライベートメソッドに テストを書くことのデメリットを理解しつつ、黒魔術の強力さを堪能しましょう。 (ただし、この質問の場合は JavaScript なので、この手段はとれません。JavaScript は比較的緩い言語ですが、クロージャの情報隠蔽は非常に強固です) まとめ 繰り返すと、プライベートなメソッドや関数をテストする必要は無いと考えています。プライベートなメソッドは、実装の詳細であるからです。
- 779 名前:デフォルトの名無しさん [2020/07/04(土) 21:00:07.43 ID:42LT/T3f.net]
- >>752
三行以上は読んでもらえないから工夫が必要。
|

|