カプセル化(英語: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/2SQUll636デフォルトの名無しさん
2020/07/04(土) 11:57:31.94ID:czCytfqY >>631
おめーこそ、テストの目的を理解してんのか、カス。
privateが記述されているってことは、外部から呼び出したら駄目なメソッドだ。
それを外部から呼び出して単体テスト合格とかふざけんな。
テストなめてんだろ。
おめーこそ、テストの目的を理解してんのか、カス。
privateが記述されているってことは、外部から呼び出したら駄目なメソッドだ。
それを外部から呼び出して単体テスト合格とかふざけんな。
テストなめてんだろ。
637デフォルトの名無しさん
2020/07/04(土) 11:58:00.26ID:M3d71N9d >>635
TDDで有名な人の名前って知ってる?
t-wadaのブログ
https://t-wada.hatenablog.jp/entry/should-we-test-private-methods#%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E7%B5%8C%E7%94%B1%E3%81%A7%E3%83%86%E3%82%B9%E3%83%88%E3%81%99%E3%82%8B
https://twitter.com/t_wada
プログラマ。TDD 実践者。power-assert-js 作者。
『テスト駆動開発』『プログラマが知るべき97のこと』『SQLアンチパターン』を翻訳/監訳しました。
> 私の回答
> 短くまとめると、プライベートなメソッドのテストを書く必要は 無い と考えています。
>
> パブリックメソッド経由でテストする
https://twitter.com/5chan_nel (5ch newer account)
TDDで有名な人の名前って知ってる?
t-wadaのブログ
https://t-wada.hatenablog.jp/entry/should-we-test-private-methods#%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E7%B5%8C%E7%94%B1%E3%81%A7%E3%83%86%E3%82%B9%E3%83%88%E3%81%99%E3%82%8B
https://twitter.com/t_wada
プログラマ。TDD 実践者。power-assert-js 作者。
『テスト駆動開発』『プログラマが知るべき97のこと』『SQLアンチパターン』を翻訳/監訳しました。
> 私の回答
> 短くまとめると、プライベートなメソッドのテストを書く必要は 無い と考えています。
>
> パブリックメソッド経由でテストする
https://twitter.com/5chan_nel (5ch newer account)
638デフォルトの名無しさん
2020/07/04(土) 11:58:12.80ID:pmIasW6W639デフォルトの名無しさん
2020/07/04(土) 11:58:45.56ID:M3d71N9d >>636
> おめーこそ、テストの目的を理解してんのか、カス。
> privateが記述されているってことは、外部から呼び出したら駄目なメソッドだ。
↑それ(外部から呼び出したらだめだ!)はテストの目的じゃないよw
> おめーこそ、テストの目的を理解してんのか、カス。
> privateが記述されているってことは、外部から呼び出したら駄目なメソッドだ。
↑それ(外部から呼び出したらだめだ!)はテストの目的じゃないよw
640デフォルトの名無しさん
2020/07/04(土) 11:59:28.07ID:czCytfqY で、でたー!!!
有名人の権威に頼る詭弁!
流石、詭弁のプロッ!
有名人の権威に頼る詭弁!
流石、詭弁のプロッ!
641デフォルトの名無しさん
2020/07/04(土) 11:59:33.33ID:pmIasW6W642デフォルトの名無しさん
2020/07/04(土) 11:59:35.76ID:M3d71N9d643デフォルトの名無しさん
2020/07/04(土) 12:00:04.79ID:M3d71N9d >>641
つまりそういうこと。お前は「テスト技術」に興味がない
つまりそういうこと。お前は「テスト技術」に興味がない
644デフォルトの名無しさん
2020/07/04(土) 12:01:48.43ID:M3d71N9d なぜ日本でTDDの専門家といって一番目に出てくるような人を知らないで
テストの話について語っているのか?
勉強したら必ず何度も目にする名前だろうに
テストの話について語っているのか?
勉強したら必ず何度も目にする名前だろうに
645デフォルトの名無しさん
2020/07/04(土) 12:05:38.40ID:pmIasW6W >>643
僕は@t_wadaさんを知らないだけですよ
有名な人の名前を知ってるから自分はテスト技術に興味があって正しい知識を持ってるんだって思ってる?
論理を無視した権威による詭弁としか思えないし、それってただのマウンティングにしかならないんじゃないですか?
俺はt_wadaさんのこと知ってんだぞ!!おめーどーなっても知らねえからな!みたいな中卒ヤンキーのマインドを
お持ちなのはわかったけど、議論の向き先としてそっちで良いのって僕は思いましたよ
僕は@t_wadaさんを知らないだけですよ
有名な人の名前を知ってるから自分はテスト技術に興味があって正しい知識を持ってるんだって思ってる?
論理を無視した権威による詭弁としか思えないし、それってただのマウンティングにしかならないんじゃないですか?
俺はt_wadaさんのこと知ってんだぞ!!おめーどーなっても知らねえからな!みたいな中卒ヤンキーのマインドを
お持ちなのはわかったけど、議論の向き先としてそっちで良いのって僕は思いましたよ
646デフォルトの名無しさん
2020/07/04(土) 12:06:25.67ID:M3d71N9d > 僕は@t_wadaさんを知らないだけですよ
その意味がわかってないんだろ?
お前は勉強した必ず目にする名前を知らないって言ってるんだよ
つまり勉強したことがないってこと
その意味がわかってないんだろ?
お前は勉強した必ず目にする名前を知らないって言ってるんだよ
つまり勉強したことがないってこと
647デフォルトの名無しさん
2020/07/04(土) 12:07:22.80ID:XvIYAIJA いいんじゃね、全てのメソッドをテストしたけりゃすればw
ただそれを強制されてることが一般的だと思って奴がいるのは滑稽だなw
ただそれを強制されてることが一般的だと思って奴がいるのは滑稽だなw
648デフォルトの名無しさん
2020/07/04(土) 12:08:56.81ID:pmIasW6W >>646
人の名前覚えて悦に入る人の心境がわからないんだよなー
僕はプログラムのことにしか興味がないから
誰がそれを書いたのかよりも書いてある内容の方に興味がある
執筆者の名前を覚えて勉強した気になってるだけじゃないの?
人の名前覚えて悦に入る人の心境がわからないんだよなー
僕はプログラムのことにしか興味がないから
誰がそれを書いたのかよりも書いてある内容の方に興味がある
執筆者の名前を覚えて勉強した気になってるだけじゃないの?
649デフォルトの名無しさん
2020/07/04(土) 12:09:30.14ID:M3d71N9d パブリックメソッド経由でテストする
多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。
テストできているか不安があるならテストカバレッジを確認しましょう。
別クラスのパブリックメソッドとする
プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを
示唆している場合があります。テストがどうしても書きたい場合は、その責務はテスト対象の
プライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。テスト対象の
プライベートメソッドを「クラスの抽出」や「メソッド/関数の移動」を使って、テスト対象の
コラボレータのパブリックメソッドとして抽出し、普通にパブリックメソッドとしてテストしましょう。
テスト対象の可視性を(やや)上げる
例えば Java では、同一のパッケージからのみアクセスできる可視性があり(正式名称ではありませんが
「パッケージプライベート」と呼ばれます)、テストを同一パッケージに配置することでテストから
アクセスできるような設計を行うことがあります。(ただし、この質問の場合は JavaScript なので、この手段はとれません)
プライベートのまま、リフレクションでアクセスしてテストを書く
リフレクションは最後の手段であり、強力な手段でもあります。プロダクトコードに手を入れることが
できない状況や、レガシーコード(テストコードの無いコード)に対する「仕様化テスト(Characterization Test)」を
書いているような状況では、リフレクションは唯一の、かつ強力な手段になります。プライベートメソッドに
テストを書くことのデメリットを理解しつつ、黒魔術の強力さを堪能しましょう。
(ただし、この質問の場合は JavaScript なので、この手段はとれません。JavaScript は比較的緩い言語ですが、クロージャの情報隠蔽は非常に強固です)
まとめ
繰り返すと、プライベートなメソッドや関数をテストする必要は無いと考えています。プライベートなメソッドは、実装の詳細であるからです。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。
テストできているか不安があるならテストカバレッジを確認しましょう。
別クラスのパブリックメソッドとする
プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを
示唆している場合があります。テストがどうしても書きたい場合は、その責務はテスト対象の
プライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。テスト対象の
プライベートメソッドを「クラスの抽出」や「メソッド/関数の移動」を使って、テスト対象の
コラボレータのパブリックメソッドとして抽出し、普通にパブリックメソッドとしてテストしましょう。
テスト対象の可視性を(やや)上げる
例えば Java では、同一のパッケージからのみアクセスできる可視性があり(正式名称ではありませんが
「パッケージプライベート」と呼ばれます)、テストを同一パッケージに配置することでテストから
アクセスできるような設計を行うことがあります。(ただし、この質問の場合は JavaScript なので、この手段はとれません)
プライベートのまま、リフレクションでアクセスしてテストを書く
リフレクションは最後の手段であり、強力な手段でもあります。プロダクトコードに手を入れることが
できない状況や、レガシーコード(テストコードの無いコード)に対する「仕様化テスト(Characterization Test)」を
書いているような状況では、リフレクションは唯一の、かつ強力な手段になります。プライベートメソッドに
テストを書くことのデメリットを理解しつつ、黒魔術の強力さを堪能しましょう。
(ただし、この質問の場合は JavaScript なので、この手段はとれません。JavaScript は比較的緩い言語ですが、クロージャの情報隠蔽は非常に強固です)
まとめ
繰り返すと、プライベートなメソッドや関数をテストする必要は無いと考えています。プライベートなメソッドは、実装の詳細であるからです。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
650デフォルトの名無しさん
2020/07/04(土) 12:10:37.41ID:M3d71N9d651デフォルトの名無しさん
2020/07/04(土) 12:14:01.28ID:pmIasW6W >>650
著作権法に違反してない? 大丈夫?
僕はt_wadaさんを知らないし、信奉する立場でもないので
t_wadaさんがそう言ってるからそうなんだと思うことはないよ
内容に興味があるっていうのは、書いてあることをそっくりそのまま
自分の考えにするということではなくて自分の経験や知識に照らし合わせて
自分の考えを持つってことだよ
僕はその文章を読んでprivateメソッドをテストするべきだと思った
著作権法に違反してない? 大丈夫?
僕はt_wadaさんを知らないし、信奉する立場でもないので
t_wadaさんがそう言ってるからそうなんだと思うことはないよ
内容に興味があるっていうのは、書いてあることをそっくりそのまま
自分の考えにするということではなくて自分の経験や知識に照らし合わせて
自分の考えを持つってことだよ
僕はその文章を読んでprivateメソッドをテストするべきだと思った
652デフォルトの名無しさん
2020/07/04(土) 12:15:48.22ID:M3d71N9d > 著作権法に違反してない? 大丈夫?
もはや技術の話に反論できなくなったか
引用の範囲で著作権は関係ないな(爆笑)
> 僕はt_wadaさんを知らないし、信奉する立場でもないので
あのさぁ、お前。「t_wadaを知らない」という人の話じゃなくて
その人が言った内容についての話をしろよ
もはや技術の話に反論できなくなったか
引用の範囲で著作権は関係ないな(爆笑)
> 僕はt_wadaさんを知らないし、信奉する立場でもないので
あのさぁ、お前。「t_wadaを知らない」という人の話じゃなくて
その人が言った内容についての話をしろよ
653デフォルトの名無しさん
2020/07/04(土) 12:16:19.37ID:M3d71N9d > 僕はその文章を読んでprivateメソッドをテストするべきだと思った
それはあなたの感想です。考えは何も述べていません。
それはあなたの感想です。考えは何も述べていません。
654デフォルトの名無しさん
2020/07/04(土) 12:18:15.28ID:czCytfqY >>639
> ↑それ(外部から呼び出したらだめだ!)はテストの目的じゃないよw
別に、デバッグ目的で一時的にprivateメソッドを呼びたいのなら、勝手に呼んでどうぞ。
だが、テスト工程...特に単体テストでprivateをpublicにするのはアウト。
本来、呼ばれないはずのprivateだったメソッドが呼ばれてしまえば、本来、不合格だったはずのカバレッジテストに合格してしまう可能性が出てくるし、privateメソッドを呼んだことで、本来ありえないクラス内部状態を作ってしまったら、単体テストの結果も変わってしまう。
テストは本番と同じ状態を保たないと駄目だよ。
プログラマーの開発工程におけるデバッグ及び動作確認とテストを混同させていないか?
> ↑それ(外部から呼び出したらだめだ!)はテストの目的じゃないよw
別に、デバッグ目的で一時的にprivateメソッドを呼びたいのなら、勝手に呼んでどうぞ。
だが、テスト工程...特に単体テストでprivateをpublicにするのはアウト。
本来、呼ばれないはずのprivateだったメソッドが呼ばれてしまえば、本来、不合格だったはずのカバレッジテストに合格してしまう可能性が出てくるし、privateメソッドを呼んだことで、本来ありえないクラス内部状態を作ってしまったら、単体テストの結果も変わってしまう。
テストは本番と同じ状態を保たないと駄目だよ。
プログラマーの開発工程におけるデバッグ及び動作確認とテストを混同させていないか?
655デフォルトの名無しさん
2020/07/04(土) 12:19:20.76ID:XvIYAIJA 最後の行ありそうw
656デフォルトの名無しさん
2020/07/04(土) 12:19:46.76ID:M3d71N9d >>654
> だが、テスト工程...特に単体テストでprivateをpublicにするのはアウト。
ウォーターフォール開発?
テストで問題が出ても問題を上流に戻したらだめって
バグが出ても直したらいかんのかよw
> だが、テスト工程...特に単体テストでprivateをpublicにするのはアウト。
ウォーターフォール開発?
テストで問題が出ても問題を上流に戻したらだめって
バグが出ても直したらいかんのかよw
657デフォルトの名無しさん
2020/07/04(土) 12:20:53.65ID:M3d71N9d >>654
> プログラマーの開発工程におけるデバッグ及び動作確認とテストを混同させていないか?
今はプログラマーの開発工程におけるデバッグの話ですよ?
動作確認でprivateメソッドを呼んでテストなんてしませんから
> プログラマーの開発工程におけるデバッグ及び動作確認とテストを混同させていないか?
今はプログラマーの開発工程におけるデバッグの話ですよ?
動作確認でprivateメソッドを呼んでテストなんてしませんから
658デフォルトの名無しさん
2020/07/04(土) 12:21:57.39ID:pmIasW6W >>652
大丈夫かなって正直に思っただけ、君が引用だと思っててもt_wadaさんが勝手に転載してんじゃねえ
ぶっ殺すぞと思ってたらやばいじゃん、t_wadaさんって人を僕は知らないから
君がすごくぶっ殺されたりとかしないかなって思っただけ
t_wadaさんの話を振ったのは君ですよ
t_wadaさんを知らないのかー遅れてるーうひょーって有頂天になって書き込んでたのは君ですよ
僕は内容の話をしましたよ
大丈夫かなって正直に思っただけ、君が引用だと思っててもt_wadaさんが勝手に転載してんじゃねえ
ぶっ殺すぞと思ってたらやばいじゃん、t_wadaさんって人を僕は知らないから
君がすごくぶっ殺されたりとかしないかなって思っただけ
t_wadaさんの話を振ったのは君ですよ
t_wadaさんを知らないのかー遅れてるーうひょーって有頂天になって書き込んでたのは君ですよ
僕は内容の話をしましたよ
659デフォルトの名無しさん
2020/07/04(土) 12:22:14.55ID:czCytfqY > テストは本番と同じ状態を保たないと駄目だよ。
これを曲解されても困るから補足説明するけど、単体テストって、クラス単体のテストのことな?
クラスを動かすための環境は自由に変えてもいいけど、クラスそのものを弄りかえるなって意味だからな?
これを曲解されても困るから補足説明するけど、単体テストって、クラス単体のテストのことな?
クラスを動かすための環境は自由に変えてもいいけど、クラスそのものを弄りかえるなって意味だからな?
660デフォルトの名無しさん
2020/07/04(土) 12:24:12.62ID:xAj06qrt テストがでかけるアサートと本番動作は普通は異なるがな。
なんでも統一させようとして無理が出るから public, privateの議論はくだらんなと思うわけだ。
なんでも統一させようとして無理が出るから public, privateの議論はくだらんなと思うわけだ。
661デフォルトの名無しさん
2020/07/04(土) 12:28:01.42ID:czCytfqY662デフォルトの名無しさん
2020/07/04(土) 12:33:59.87ID:M3d71N9d663デフォルトの名無しさん
2020/07/04(土) 12:34:18.71ID:M3d71N9d >>661
知らんがなw
知らんがなw
664デフォルトの名無しさん
2020/07/04(土) 12:35:58.47ID:M3d71N9d >>660
クラスを動かすための環境というのはクラスの外界ってことはわかってるか?
クラスの外界は変えていいから、テストコードから呼び出すし
クラスの中で呼んでいる外界をモックやスタブで置き換えていいんだよ
クラスを動かすための環境というのはクラスの外界ってことはわかってるか?
クラスの外界は変えていいから、テストコードから呼び出すし
クラスの中で呼んでいる外界をモックやスタブで置き換えていいんだよ
665デフォルトの名無しさん
2020/07/04(土) 12:37:35.05ID:exw+beGf テストの前提として、テストされるコードをいじってはいけない
テストのためにコードをいじってテストが終わったらコードを戻すんだと
本来のコードが仕様通り動くことが保証できない
いじるのなら納品物が変わってくる
テストのためにコードをいじってテストが終わったらコードを戻すんだと
本来のコードが仕様通り動くことが保証できない
いじるのなら納品物が変わってくる
666デフォルトの名無しさん
2020/07/04(土) 12:38:43.12ID:pmIasW6W >>662
t_wadaさんを知らないのかーって言ったのは君で
これがt_wadaさんの神々しい高貴な文章なんだーと引用したのは君じゃん
僕はそれを読みました。読んだ感想を今から言います。よく聞いてください。
privateメソッドをテストするべきだと思いました。
t_wadaさんを知らないのかーって言ったのは君で
これがt_wadaさんの神々しい高貴な文章なんだーと引用したのは君じゃん
僕はそれを読みました。読んだ感想を今から言います。よく聞いてください。
privateメソッドをテストするべきだと思いました。
667デフォルトの名無しさん
2020/07/04(土) 12:43:46.70ID:M3d71N9d668デフォルトの名無しさん
2020/07/04(土) 12:44:39.72ID:M3d71N9d669デフォルトの名無しさん
2020/07/04(土) 12:47:54.13ID:9ghyGMpS670デフォルトの名無しさん
2020/07/04(土) 12:48:05.39ID:M3d71N9d671デフォルトの名無しさん
2020/07/04(土) 12:58:30.51ID:wkevF9GB privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
早く死んでね
672デフォルトの名無しさん
2020/07/04(土) 13:01:25.78ID:M3d71N9d 専門家の意見としては
パブリックメソッド経由でテストする
多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。
テストできているか不安があるならテストカバレッジを確認しましょう。
別クラスのパブリックメソッドとする
プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを
示唆している場合があります。テストがどうしても書きたい場合は、その責務はテスト対象の
プライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。テスト対象の
プライベートメソッドを「クラスの抽出」や「メソッド/関数の移動」を使って、テスト対象の
コラボレータのパブリックメソッドとして抽出し、普通にパブリックメソッドとしてテストしましょう。
パブリックメソッド経由でテストする
多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。
テストできているか不安があるならテストカバレッジを確認しましょう。
別クラスのパブリックメソッドとする
プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを
示唆している場合があります。テストがどうしても書きたい場合は、その責務はテスト対象の
プライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。テスト対象の
プライベートメソッドを「クラスの抽出」や「メソッド/関数の移動」を使って、テスト対象の
コラボレータのパブリックメソッドとして抽出し、普通にパブリックメソッドとしてテストしましょう。
673デフォルトの名無しさん
2020/07/04(土) 13:02:51.44ID:pmIasW6W >>670
君が先にその人を出して
僕が誰それなんでそんなの書いたのって聞いただけだよ
そしたら君がt_wadaを知らないのかーって有頂天になったんじゃん
君はt_wadaさんに憧れてるんでしょ?
だからt_wadaさんが書いた文章を引用したんでしょ
憧れとは理解とは最も遠い感情だってプリキュアが言ってました
僕が誰に憧れてるかはわかりますね?
君が先にその人を出して
僕が誰それなんでそんなの書いたのって聞いただけだよ
そしたら君がt_wadaを知らないのかーって有頂天になったんじゃん
君はt_wadaさんに憧れてるんでしょ?
だからt_wadaさんが書いた文章を引用したんでしょ
憧れとは理解とは最も遠い感情だってプリキュアが言ってました
僕が誰に憧れてるかはわかりますね?
674デフォルトの名無しさん
2020/07/04(土) 13:06:20.56ID:M3d71N9d >>673
> 僕が誰それなんでそんなの書いたのって聞いただけだよ
だから人に興味があるってことだよね?
無名の人なら、そんな無名なんか知るかー
有名な人なら、権威にすがるなー
っていうんでしたっけ?w
どちらにしろ意見に興味がなく
最初から「人」に文句をつけようと思って、誰か聞いたんでしょ?
> 僕が誰それなんでそんなの書いたのって聞いただけだよ
だから人に興味があるってことだよね?
無名の人なら、そんな無名なんか知るかー
有名な人なら、権威にすがるなー
っていうんでしたっけ?w
どちらにしろ意見に興味がなく
最初から「人」に文句をつけようと思って、誰か聞いたんでしょ?
675デフォルトの名無しさん
2020/07/04(土) 13:10:46.18ID:pmIasW6W >>674
t_wadaのブログってリンク提示されてもなにそれとしか思わないから
君がt_wada本人でこれが僕の考えだって示したならなるほどそういうことか
privateメソッドはテストするべきだって思うけど
議論の最中にt_wadaのブログを出されても何いってんだこいつとしか思わない
よくよく話を聞いてみると君はt_wadaさんのことが大変気に入っていて
憧れていてt_wadaさんの言うことは絶対だと思っている
君はt_wadaさんの権威にすがってるだけのつまらない人間なのじゃないかと僕は疑っています
t_wadaのブログってリンク提示されてもなにそれとしか思わないから
君がt_wada本人でこれが僕の考えだって示したならなるほどそういうことか
privateメソッドはテストするべきだって思うけど
議論の最中にt_wadaのブログを出されても何いってんだこいつとしか思わない
よくよく話を聞いてみると君はt_wadaさんのことが大変気に入っていて
憧れていてt_wadaさんの言うことは絶対だと思っている
君はt_wadaさんの権威にすがってるだけのつまらない人間なのじゃないかと僕は疑っています
676デフォルトの名無しさん
2020/07/04(土) 13:12:22.76ID:pmIasW6W 外人が書いた本を翻訳しただけで専門家でもなんでもないんじゃない?
677デフォルトの名無しさん
2020/07/04(土) 13:12:24.10ID:M3d71N9d > t_wadaのブログってリンク提示されてもなにそれとしか思わないから
はい、内容を呼んでないと自白しましたw
なんのために内容の一部まで引用したと思ってるんでしょうかね
読まずに誰それと「人」に文句をつけるための
質問しかしませんでした。
はい、内容を呼んでないと自白しましたw
なんのために内容の一部まで引用したと思ってるんでしょうかね
読まずに誰それと「人」に文句をつけるための
質問しかしませんでした。
678デフォルトの名無しさん
2020/07/04(土) 13:12:47.77ID:M3d71N9d >>676
お前の希望を言われたもなぁw
お前の希望を言われたもなぁw
679575
2020/07/04(土) 13:13:09.28ID:sra5+07B なんで今朝の575からこんなに進んでるの...
680デフォルトの名無しさん
2020/07/04(土) 13:13:57.68ID:MJUVFEDB 子供の喧嘩ですw
681デフォルトの名無しさん
2020/07/04(土) 13:13:59.57ID:pmIasW6W >>677
どうしてその内容を引用したの?
君はそれが正しいと思ったの? その根拠は提示できる?
できないでしょ、君はt_wadaを専門家だと思ってて
専門家の言うことは正しいのだ、だから内容が正しいのだと思い込んでいる
だからその内容を引用して何かを示した気になってるだけ
どうしてその内容を引用したの?
君はそれが正しいと思ったの? その根拠は提示できる?
できないでしょ、君はt_wadaを専門家だと思ってて
専門家の言うことは正しいのだ、だから内容が正しいのだと思い込んでいる
だからその内容を引用して何かを示した気になってるだけ
682デフォルトの名無しさん
2020/07/04(土) 13:14:24.44ID:M3d71N9d >>679
根拠ない主張を繰り返すだけのやつが登場するとそうなるよw
根拠ない主張を繰り返すだけのやつが登場するとそうなるよw
683デフォルトの名無しさん
2020/07/04(土) 13:14:41.46ID:pmIasW6W >>678
外人が書いた本を翻訳したら専門家なのか? そっちの方が希望じゃん
外人が書いた本を翻訳したら専門家なのか? そっちの方が希望じゃん
684デフォルトの名無しさん
2020/07/04(土) 13:15:16.84ID:pmIasW6W >>682
専門家という肩書の権威にすがりつく君のことかな?
専門家という肩書の権威にすがりつく君のことかな?
685デフォルトの名無しさん
2020/07/04(土) 13:15:33.49ID:M3d71N9d686デフォルトの名無しさん
2020/07/04(土) 13:15:46.59ID:xAj06qrt687デフォルトの名無しさん
2020/07/04(土) 13:16:11.64ID:M3d71N9d688デフォルトの名無しさん
2020/07/04(土) 13:17:04.15ID:pmIasW6W >>668
t_wadaさんの文章はt_wadaさんの感想でしかないよ
t_wadaさんの文章はt_wadaさんの感想でしかないよ
689デフォルトの名無しさん
2020/07/04(土) 13:17:18.71ID:M3d71N9d どうやら翻訳は副業らしいなw
690デフォルトの名無しさん
2020/07/04(土) 13:18:06.68ID:M3d71N9d691575
2020/07/04(土) 13:18:30.04ID:sra5+07B とりあえず、落ち着け。
議題がよくわからんが、落ち着け...落ち着くのだ。
議題がよくわからんが、落ち着け...落ち着くのだ。
692デフォルトの名無しさん
2020/07/04(土) 13:19:53.55ID:pmIasW6W >>687
いやいや翻訳だけが全実績じゃん
t_wadaさんがprivateメソッドをテストせずにとても
すばらしいシステムを構築していま全世界で使われてますってことないじゃん
翻訳したからまるで本物の執筆者のように思われてあたかも専門家のように思い込まれてるだけで
専門家でもなんでもなくただの翻訳者だよ
いやいや翻訳だけが全実績じゃん
t_wadaさんがprivateメソッドをテストせずにとても
すばらしいシステムを構築していま全世界で使われてますってことないじゃん
翻訳したからまるで本物の執筆者のように思われてあたかも専門家のように思い込まれてるだけで
専門家でもなんでもなくただの翻訳者だよ
693デフォルトの名無しさん
2020/07/04(土) 13:20:32.65ID:MJUVFEDB いいんだよ、元から不毛なネタのスレだw
694デフォルトの名無しさん
2020/07/04(土) 13:21:46.90ID:pmIasW6W >>690
君が説得力を感じたら意見になり、
説得力を感じなかったら感想になるってだけじゃんそれ
なにそのガバガバな日本語運用
わかりましたでは今から僕が君を説得してみせます、よく聞いてください
privateメソッドはテストするべきです
君が説得力を感じたら意見になり、
説得力を感じなかったら感想になるってだけじゃんそれ
なにそのガバガバな日本語運用
わかりましたでは今から僕が君を説得してみせます、よく聞いてください
privateメソッドはテストするべきです
696デフォルトの名無しさん
2020/07/04(土) 13:22:11.62ID:M3d71N9d >>692
なんでググらないでウソ書くの?
そうやって他の人を騙そうとしてるでしょ
https://t-wada.hatenablog.jp/entry/clean-code-that-works
職業はコンサルタントであり、プログラマです。最近では技術顧問としてもいくつかの会社を支援しています。
また、自分の自由になる時間には、オープンソースソフトウェアの開発を行っています。
本業はプログラマでありコンサルタントですが、副業としては技術書の出版、具体的には監訳や翻訳に関わっています。
JavaScript でテストを書く際のハードルを大幅に下げるために開発した power-assert は、
Mocha や Jest と組み合わせて使え、 AVA には既に内蔵されており、ありがたいことに世界中で使われるプロダクトまで育ちました。
ひとつ例を挙げるなら、アリババグループで採用頂き、アリペイやアリババクラウドのテストに使われているという話です。
んで、こういう人に比べて、お前はなにかすごいことしたの?
なんでググらないでウソ書くの?
そうやって他の人を騙そうとしてるでしょ
https://t-wada.hatenablog.jp/entry/clean-code-that-works
職業はコンサルタントであり、プログラマです。最近では技術顧問としてもいくつかの会社を支援しています。
また、自分の自由になる時間には、オープンソースソフトウェアの開発を行っています。
本業はプログラマでありコンサルタントですが、副業としては技術書の出版、具体的には監訳や翻訳に関わっています。
JavaScript でテストを書く際のハードルを大幅に下げるために開発した power-assert は、
Mocha や Jest と組み合わせて使え、 AVA には既に内蔵されており、ありがたいことに世界中で使われるプロダクトまで育ちました。
ひとつ例を挙げるなら、アリババグループで採用頂き、アリペイやアリババクラウドのテストに使われているという話です。
んで、こういう人に比べて、お前はなにかすごいことしたの?
697デフォルトの名無しさん
2020/07/04(土) 13:25:12.35ID:pmIasW6W698デフォルトの名無しさん
2020/07/04(土) 13:25:49.67ID:pmIasW6W ほんまt_wadaさん好きやな
699デフォルトの名無しさん
2020/07/04(土) 13:26:38.88ID:M3d71N9d >>698
t_wadaさん以外にすごい人がいたら教えて下さいw
t_wadaさん以外にすごい人がいたら教えて下さいw
700デフォルトの名無しさん
2020/07/04(土) 13:31:25.64ID:pmIasW6W701デフォルトの名無しさん
2020/07/04(土) 13:31:55.08ID:pmIasW6W 振ってしまってなんかごめんなさい
702デフォルトの名無しさん
2020/07/04(土) 13:33:19.09ID:pmIasW6W 他人を必要以上に持ち上げるのって自分に自信がない人がやりがちなので
アドバイスするとしたら色々経験したがいんじゃないかということですね
アドバイスするとしたら色々経験したがいんじゃないかということですね
703デフォルトの名無しさん
2020/07/04(土) 13:34:54.50ID:KKcCItOc 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
学術の巨大掲示板群 - アルファ・ラボ 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
704デフォルトの名無しさん
2020/07/04(土) 13:48:28.05ID:iuca8iKQ 根拠が聞けるかなと思ったターンで
他人の引用を持ってきて権威に頼っただけである場合
議論は終了である
続ける価値がないから
他人の引用を持ってきて権威に頼っただけである場合
議論は終了である
続ける価値がないから
705デフォルトの名無しさん
2020/07/04(土) 13:50:52.32ID:M3d71N9d いえ、自分と同じ意見を言ってる人を持ってきただけなので
話は続いてますよ?
でもなぜか、話の続きをやめてしまっているのです。
なぜでしょうね(笑)
話は続いてますよ?
でもなぜか、話の続きをやめてしまっているのです。
なぜでしょうね(笑)
706デフォルトの名無しさん
2020/07/04(土) 14:09:00.83ID:xhESn47n プログラム板でコード使って語りもしない時点で両者どちらも無能
プログラマならコードで主張
プログラマならコードで主張
707デフォルトの名無しさん
2020/07/04(土) 14:17:35.76ID:pmIasW6W >>706
有能さんあざーす!コードどこ?
有能さんあざーす!コードどこ?
708デフォルトの名無しさん
2020/07/04(土) 14:19:05.65ID:JeoapmHS privateメソッドとしてどの程度複雑なことをやらせるか、privateメソッドをどの程度使うかについて、感覚の違う2つのスタイルがあるんじゃないか?
一方の極は、privateメソッドには極めて単純なことしかさせず、少しでも複雑な内容なら(他のヘルパークラス等の)publicメソッドに切り出すスタイル。
「privateはpublic経由でのみテストする(直接はテストしない)」という方針を採る場合には、privateメソッドの内容は非常にシンプルな内容に限らざるを得ないし、逆にそうしないと>>555指摘の組み合わせ爆発の問題を回避できない。
>>624と>>649で紹介されている議論や、>>588はこの立場なんだろう。
このスタイルでは、下記のスタイルでは1つのprivateメソッドで処理できる内容を、複数のクラスに属するメソッドの協調関係で処理することになる。
これを適切な機能分化がされていると肯定的に捉えるか、必ずしも汎用性があるわけではない小さなヘルパークラスが増えることになり、見通しが悪くなると否定的に捉えるかは考え方によるだろう。
もう一方の極は、privateメソッドだからといって、内容をシンプルに限らなければいけない必然性はないというスタイル。>>589は、こちらの立場なんだろう。
このスタイルでは、public経由でprivateのテストをするというのは現実的ではないから、privateメソッドでも直接テストの対象とすることが必要になる。言語機能の関係でprivateを直接テストすることが難しい場合には、テストのやり方に工夫が必要になる。
メリット・デメリットは前記のスタイルの反対。
こんなふうに整理できるんじゃないかと思うが、どうだろう。
一方の極は、privateメソッドには極めて単純なことしかさせず、少しでも複雑な内容なら(他のヘルパークラス等の)publicメソッドに切り出すスタイル。
「privateはpublic経由でのみテストする(直接はテストしない)」という方針を採る場合には、privateメソッドの内容は非常にシンプルな内容に限らざるを得ないし、逆にそうしないと>>555指摘の組み合わせ爆発の問題を回避できない。
>>624と>>649で紹介されている議論や、>>588はこの立場なんだろう。
このスタイルでは、下記のスタイルでは1つのprivateメソッドで処理できる内容を、複数のクラスに属するメソッドの協調関係で処理することになる。
これを適切な機能分化がされていると肯定的に捉えるか、必ずしも汎用性があるわけではない小さなヘルパークラスが増えることになり、見通しが悪くなると否定的に捉えるかは考え方によるだろう。
もう一方の極は、privateメソッドだからといって、内容をシンプルに限らなければいけない必然性はないというスタイル。>>589は、こちらの立場なんだろう。
このスタイルでは、public経由でprivateのテストをするというのは現実的ではないから、privateメソッドでも直接テストの対象とすることが必要になる。言語機能の関係でprivateを直接テストすることが難しい場合には、テストのやり方に工夫が必要になる。
メリット・デメリットは前記のスタイルの反対。
こんなふうに整理できるんじゃないかと思うが、どうだろう。
709デフォルトの名無しさん
2020/07/04(土) 14:19:16.92ID:xhESn47n710デフォルトの名無しさん
2020/07/04(土) 14:20:14.26ID:pmIasW6W711デフォルトの名無しさん
2020/07/04(土) 14:22:23.00ID:xhESn47n712デフォルトの名無しさん
2020/07/04(土) 14:23:09.56ID:kiJuYkd6 privateメソッドだからテストしないとか言ってるやつはキチガイ
早く死んでね
早く死んでね
713デフォルトの名無しさん
2020/07/04(土) 14:23:22.38ID:pmIasW6W >>711
関係ないよ、早くコード出すよ
関係ないよ、早くコード出すよ
714デフォルトの名無しさん
2020/07/04(土) 14:23:44.26ID:pmIasW6W 早くコードだすよ!
715デフォルトの名無しさん
2020/07/04(土) 14:27:56.17ID:xhESn47n716デフォルトの名無しさん
2020/07/04(土) 14:28:29.45ID:pmIasW6W www
717デフォルトの名無しさん
2020/07/04(土) 14:33:12.47ID:xhESn47n このように、コードを使わず偏った主張するやつはだいたい頭がおかしい
この板ではこうやって簡単にこういう奴をあぶり出しできるんよな
この板ではこうやって簡単にこういう奴をあぶり出しできるんよな
718デフォルトの名無しさん
2020/07/04(土) 14:34:10.41ID:pmIasW6W719デフォルトの名無しさん
2020/07/04(土) 14:34:57.85ID:pmIasW6W 早 く コ ー ド 出 す よ !
720デフォルトの名無しさん
2020/07/04(土) 14:51:30.64ID:xhESn47n >>719
^^
^^
721デフォルトの名無しさん
2020/07/04(土) 14:56:58.97ID:M3d71N9d >>708
> privateメソッドとしてどの程度複雑なことをやらせるか、privateメソッドをどの程度使うかについて、感覚の違う2つのスタイルがあるんじゃないか?
privateとかpublicとか関係なく、複雑なことをやらせるなよ
関数はせいぜい一画面程度(50行)ぐらい、大半は20行以下にするもんだ
> privateメソッドとしてどの程度複雑なことをやらせるか、privateメソッドをどの程度使うかについて、感覚の違う2つのスタイルがあるんじゃないか?
privateとかpublicとか関係なく、複雑なことをやらせるなよ
関数はせいぜい一画面程度(50行)ぐらい、大半は20行以下にするもんだ
722デフォルトの名無しさん
2020/07/04(土) 15:00:38.98ID:pmIasW6W はいはいどうせt_wadaがそう言ってたんだろ
723デフォルトの名無しさん
2020/07/04(土) 15:01:31.64ID:M3d71N9d >>722
また「人」の話かよw
また「人」の話かよw
724デフォルトの名無しさん
2020/07/04(土) 15:02:35.63ID:M3d71N9d 権威ある専門家が言ってることだから間違ってます
俺は認めませーんって。どういう気持で言ってるんだろうねw
俺は認めませーんって。どういう気持で言ってるんだろうねw
725デフォルトの名無しさん
2020/07/04(土) 15:04:45.61ID:M3d71N9d 俺は「そいつは権威ある専門家だ!」って指摘しただけで
勝ったつもりにはなれないなぁ(笑)
勝ったつもりにはなれないなぁ(笑)
726デフォルトの名無しさん
2020/07/04(土) 15:05:05.57ID:pmIasW6W t_wadaはなんて言ってるんだよ!
727デフォルトの名無しさん
2020/07/04(土) 15:05:39.57ID:pmIasW6W t_wada原理主義
728デフォルトの名無しさん
2020/07/04(土) 15:06:52.47ID:iuca8iKQ 必死だなw
729デフォルトの名無しさん
2020/07/04(土) 15:07:21.60ID:gUMCer1d 今までたくさんのキチガイPGを見たが
privateメソッドだからテストしないとか言ってるやつだけは許さない
テメーの金玉はここで潰す
privateメソッドだからテストしないとか言ってるやつだけは許さない
テメーの金玉はここで潰す
730デフォルトの名無しさん
2020/07/04(土) 15:10:41.07ID:pmIasW6W ごりごりーごりごりー
そうだ!すりつぶした粉で大根餅作ろうよ!
そうだ!すりつぶした粉で大根餅作ろうよ!
731575
2020/07/04(土) 15:11:12.87ID:sra5+07B >>729
問題なのは、そのprivateの挙動をどうやって確認するのかって話なのかな?
単体テスト?総合テスト?それとも実装中しながらのデバッグ作業の話?
正直、未だにどこで揉めているのかわかりません。
誰か議題教えて。
問題なのは、そのprivateの挙動をどうやって確認するのかって話なのかな?
単体テスト?総合テスト?それとも実装中しながらのデバッグ作業の話?
正直、未だにどこで揉めているのかわかりません。
誰か議題教えて。
732デフォルトの名無しさん
2020/07/04(土) 15:13:12.65ID:iuca8iKQ733デフォルトの名無しさん
2020/07/04(土) 15:14:01.93ID:M3d71N9d >>731
1. public、privateに限らずコードはシンプルにするべき
2. シンプルであるなら、privateはpublicメソッド経由でテストできる
3. publicメソッド経由でやったらprivateがろくにテストできないというなら設計が間違ってる
4. 設計上の問題はバグと言ってもいい。バグなんだから直せ
ここまではあってる
1. public、privateに限らずコードはシンプルにするべき
2. シンプルであるなら、privateはpublicメソッド経由でテストできる
3. publicメソッド経由でやったらprivateがろくにテストできないというなら設計が間違ってる
4. 設計上の問題はバグと言ってもいい。バグなんだから直せ
ここまではあってる
734デフォルトの名無しさん
2020/07/04(土) 15:17:09.02ID:gUMCer1d735575
2020/07/04(土) 15:21:35.25ID:sra5+07B■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪 ★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- カカロット、腰痛い
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 【!?】高市早苗「靖国神社電撃参拝プラン」浮上!これもう戦争だろ… [481941988]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
