■短い回答
プライベートをテストしたい場合は設計に問題があるので、パブリックに変更してテストしましょう
■これに対する(変な人の)驚いた反論
プライベートを一時的にパブリックにして、テストが終わったら
プライベートに戻すなんてやるわけないだろw
↑誰もそんなコトしろなんて言ってない
■テスト専門家による回答
t-wadaのブログ
https://t-wada.hatenablog.jp/entry/should-we-test-private-methods
短くまとめると、プライベートなメソッドのテストを書く必要は 無い と考えています。
ほとんどのプライベートメソッドはパブリックメソッド経由でテストできるからです。
プライベートメソッドは実装の詳細であり、自動テストのターゲットとなる「外部から見た振る舞い」ではありません。
プライベートなメソッドのテストに関しては、4つの考え方があります。
・パブリックメソッド経由でテストする
・別クラスのパブリックメソッドとする
・テスト対象の可視性を(やや)上げる
・プライベートのまま、リフレクションでアクセスしてテストを書く
パブリックメソッド経由でテストする
多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。テストできているか不安があるならテストカバレッジを確認しましょう。
別クラスのパブリックメソッドとする
プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを示唆している場合があります。
テストがどうしても書きたい場合は、その責務はテスト対象のプライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。
カプセル化■プライベートメソッドをテストする方法
■ このスレッドは過去ログ倉庫に格納されています
2020/07/05(日) 20:47:46.60ID:M+BkbwUs
321デフォルトの名無しさん
2020/07/11(土) 19:20:51.26ID:JFnadz6+ 話をしようかと言い、本の内容をコピペしただけとかゲンナリするよね
たとえ批判されても自分が言ったわけじゃないから問題ないわけですね
スネ夫メソッドと名付けましょう
たとえ批判されても自分が言ったわけじゃないから問題ないわけですね
スネ夫メソッドと名付けましょう
322デフォルトの名無しさん
2020/07/11(土) 19:23:09.88ID:JFnadz6+ 本に書いてあることを自分なりに実践してみた結果大失敗して
和田メソッドは役に立たなかったとかそういう話が聞きたい
和田メソッドは役に立たなかったとかそういう話が聞きたい
323デフォルトの名無しさん
2020/07/11(土) 19:30:25.84ID:fJlL8BSP 実践した結果コードがきれいになり
テストがしやすくなったよ
テストがしやすくなったよ
324デフォルトの名無しさん
2020/07/11(土) 19:35:57.71ID:JFnadz6+ >>323
さようか
さようか
325デフォルトの名無しさん
2020/07/11(土) 19:37:32.93ID:JFnadz6+ 車の運転がうまい人は車の危険性を知ってる人
和田メソッドを熟知した人なら和田メソッドの危険性を知ってると思うのだよ
和田メソッドの限界はどこにあるのだろうね
TDDが向かないプログラムもあるとは本に書いてあるけど
それが具体的にどういう状況か、どういうプログラムかは示されないからよくわからない
僕はTDDの限界はpublicを前提とするところにあるのじゃないかと漠然と思ってる
まだぼんやりとして言語化できる段階にない
和田メソッドを熟知した人なら和田メソッドの危険性を知ってると思うのだよ
和田メソッドの限界はどこにあるのだろうね
TDDが向かないプログラムもあるとは本に書いてあるけど
それが具体的にどういう状況か、どういうプログラムかは示されないからよくわからない
僕はTDDの限界はpublicを前提とするところにあるのじゃないかと漠然と思ってる
まだぼんやりとして言語化できる段階にない
326デフォルトの名無しさん
2020/07/11(土) 20:23:20.20ID:JFnadz6+ ググってみたけどTDDに否定的な考え方は世界的にあるみたいね
327デフォルトの名無しさん
2020/07/11(土) 20:58:34.53ID:KCR4lRFo TDDはともかく、和田メソッドはダメでしょう。
328デフォルトの名無しさん
2020/07/11(土) 21:57:47.69ID:fJlL8BSP まるで○○は危険でしょうと言うだけで
何が危険かわかってない人のような言い方だなw
何が危険かわかってない人のような言い方だなw
329デフォルトの名無しさん
2020/07/11(土) 21:59:07.66ID:fJlL8BSP330デフォルトの名無しさん
2020/07/11(土) 22:03:47.24ID:fJlL8BSP >>327
ではTDDの場合どうなのか?
Private Methods, Test Driven Development, and Good Design
https://www.infoq.com/news/2008/01/private-methods-tdd-design/
> Why to test private method? Most of TDDers would answer instantly: don’t do it.
プライベートのテストをする理由?
ほとんどのTDDersはこう答える。「するな」
和田メソッド(笑)が言っていることとTDDは完全に一致してるな
まあ実際にはTDDが最初にあって和田さんは
それに同意して、TDDの話をしてるんだから当然なんだが
ではTDDの場合どうなのか?
Private Methods, Test Driven Development, and Good Design
https://www.infoq.com/news/2008/01/private-methods-tdd-design/
> Why to test private method? Most of TDDers would answer instantly: don’t do it.
プライベートのテストをする理由?
ほとんどのTDDersはこう答える。「するな」
和田メソッド(笑)が言っていることとTDDは完全に一致してるな
まあ実際にはTDDが最初にあって和田さんは
それに同意して、TDDの話をしてるんだから当然なんだが
331デフォルトの名無しさん
2020/07/11(土) 22:04:46.73ID:fJlL8BSP How to unit test private methods in BDD / TDD?
https://stackoverflow.com/questions/1583363/how-to-unit-test-private-methods-in-bdd-tdd
https://stackoverflow.com/questions/1583363/how-to-unit-test-private-methods-in-bdd-tdd
332デフォルトの名無しさん
2020/07/11(土) 22:05:21.04ID:fJlL8BSP Don’t Test Private Methods
https://dzone.com/articles/dont-test-private-methods
https://dzone.com/articles/dont-test-private-methods
333デフォルトの名無しさん
2020/07/11(土) 22:28:49.46ID:JFnadz6+334デフォルトの名無しさん
2020/07/11(土) 22:31:24.19ID:JFnadz6+ > 実践した結果コードがきれいになり
> テストがしやすくなったよ
君の感想はこれだけ
あとは引用コピペを繰り返してるだけ
君の経験は浅すぎて僕の参考にならない
> テストがしやすくなったよ
君の感想はこれだけ
あとは引用コピペを繰り返してるだけ
君の経験は浅すぎて僕の参考にならない
335デフォルトの名無しさん
2020/07/11(土) 22:32:08.86ID:JFnadz6+ スネ夫の限界
僕は出来杉君
僕は出来杉君
336デフォルトの名無しさん
2020/07/11(土) 22:33:23.97ID:fJlL8BSP337デフォルトの名無しさん
2020/07/11(土) 22:37:09.78ID:JFnadz6+338デフォルトの名無しさん
2020/07/11(土) 22:39:35.32ID:wIsoNFzM もう人のフンドシで相撲をとるのはやめろ
339デフォルトの名無しさん
2020/07/11(土) 22:40:20.87ID:fJlL8BSP340デフォルトの名無しさん
2020/07/11(土) 22:42:56.22ID:JFnadz6+ 世の中に銀の弾丸は無いからね
何事にも限界はあるでしょ、一般論だよ
IQ低い人はすぐ被害妄想いだくから面倒
何事にも限界はあるでしょ、一般論だよ
IQ低い人はすぐ被害妄想いだくから面倒
341デフォルトの名無しさん
2020/07/11(土) 22:43:21.62ID:JFnadz6+ もっと知性あふれる人と知的な会話をしたいなー
342デフォルトの名無しさん
2020/07/11(土) 22:44:09.34ID:fJlL8BSP >>340
一般論だからこそ、TDDの批判にはならないんだよ。
一般論だからこそ、TDDの批判にはならないんだよ。
343デフォルトの名無しさん
2020/07/11(土) 22:45:11.39ID:fJlL8BSP つまり
「お前の意見に言いたいことがある。一般論として人はだれでも間違える(ドヤァ)」
といっても意見にたいして、何かを言ってることにはならないのと同じね。
「お前の意見に言いたいことがある。一般論として人はだれでも間違える(ドヤァ)」
といっても意見にたいして、何かを言ってることにはならないのと同じね。
344デフォルトの名無しさん
2020/07/11(土) 22:45:14.99ID:JFnadz6+ ちなみに僕は常識に価値があるとも思ってない
京都大学では真実は少数派に宿るっていう言葉が使われてるよ
京都大学では真実は少数派に宿るっていう言葉が使われてるよ
345デフォルトの名無しさん
2020/07/11(土) 22:46:07.36ID:JFnadz6+ >>342
疑いをかけられたんだームキーって反応してる君がおかしいってこと
疑いをかけられたんだームキーって反応してる君がおかしいってこと
346デフォルトの名無しさん
2020/07/11(土) 22:46:25.25ID:fJlL8BSP >>344
じゃあ京都大学ではその言葉は多数派だから真実にはならないね(笑)
じゃあ京都大学ではその言葉は多数派だから真実にはならないね(笑)
347デフォルトの名無しさん
2020/07/11(土) 22:46:56.12ID:fJlL8BSP348デフォルトの名無しさん
2020/07/11(土) 22:50:38.71ID:JFnadz6+349デフォルトの名無しさん
2020/07/11(土) 22:51:31.82ID:fJlL8BSP350デフォルトの名無しさん
2020/07/11(土) 22:52:25.23ID:JFnadz6+ > >>337
> まるで和田メソッド(TDDの常識的な手法)に
> 限界があるような言い方してるじゃんw
>
> 自分が何も知らないのに、限界があるんじゃないかという
> 疑いをかけるのはだめ。
疑いをかけられてないと思ってる人間が疑いをかけるのはだめとは言わんでしょう
> まるで和田メソッド(TDDの常識的な手法)に
> 限界があるような言い方してるじゃんw
>
> 自分が何も知らないのに、限界があるんじゃないかという
> 疑いをかけるのはだめ。
疑いをかけられてないと思ってる人間が疑いをかけるのはだめとは言わんでしょう
351デフォルトの名無しさん
2020/07/11(土) 22:53:46.53ID:fJlL8BSP >>350
日本語が理解できてないねw
日本語が理解できてないねw
352デフォルトの名無しさん
2020/07/11(土) 22:56:57.75ID:JFnadz6+ 君は疑いをかけられてると思っていた
僕は一般論だよと言った
君は疑いをかけられてないと言い出した
僕はそんなの当たり前だろということを示すために君は日本語を使ってると
当たり前のことを言って皮肉った
という流れだったんだ
僕は一般論だよと言った
君は疑いをかけられてないと言い出した
僕はそんなの当たり前だろということを示すために君は日本語を使ってると
当たり前のことを言って皮肉った
という流れだったんだ
353デフォルトの名無しさん
2020/07/11(土) 23:20:35.55ID:JFnadz6+ もうお互い大変でしょう、僕と仲直りしましょうか?
君にアホと言ったのは謝るよ、君が僕にバカと言ったのは忘れるよ
僕は心の広い知的なイケメンです
君にアホと言ったのは謝るよ、君が僕にバカと言ったのは忘れるよ
僕は心の広い知的なイケメンです
354デフォルトの名無しさん
2020/07/12(日) 08:15:23.41ID:/RSb8Vzv 和田メソッドの真骨頂は、バグを作り込まなければテストする必要が無いことにある。
テストは甘え、甘えがある限りバグは無くならない。
つまり、テストしない仕組みづくりこそが和田メソッドである。
テストは甘え、甘えがある限りバグは無くならない。
つまり、テストしない仕組みづくりこそが和田メソッドである。
355デフォルトの名無しさん
2020/07/12(日) 09:15:09.92ID:SoQxatgN クソみたいな議論ばっかに見えるがプログラム技術板の中ではわりかしまともな方になってるぞ。
356デフォルトの名無しさん
2020/07/12(日) 09:33:56.05ID:zf8GLb7g >>355
参考までにまともだと思うレス番教えてくれ
参考までにまともだと思うレス番教えてくれ
357デフォルトの名無しさん
2020/07/12(日) 12:19:27.16ID:6LAoyHzZ >>354
デマ禁止な
デマ禁止な
358デフォルトの名無しさん
2020/07/12(日) 15:39:00.55ID:/RSb8Vzv 和田メソッド被害者の会結成しなくては。
359デフォルトの名無しさん
2020/07/12(日) 16:03:31.03ID:lQJaWZP0 本当の被害者は自分が被害を受けたと自覚していない
360デフォルトの名無しさん
2020/07/12(日) 16:04:35.47ID:/RSb8Vzv それは恐ろしい話だけど、このスレにもちらほらいるね。
361デフォルトの名無しさん
2020/07/12(日) 16:04:37.33ID:6LAoyHzZ そういう人に、どういう被害を受けたかを説明できればね(笑)
結局、被害の内容を言えないんだから、被害はなかったということ
結局、被害の内容を言えないんだから、被害はなかったということ
362デフォルトの名無しさん
2020/07/12(日) 16:11:56.07ID:/RSb8Vzv オウム真理教の信者は被害者でもあり加害者でもある。
363デフォルトの名無しさん
2020/07/12(日) 16:47:10.65ID:6LAoyHzZ 上の方でも書いたけど「例え」は何かを批判するときに使ってはだめ
「それは別の話で関係ない」という簡単な一言が完璧な反論になってしまうから
「それは別の話で関係ない」という簡単な一言が完璧な反論になってしまうから
364デフォルトの名無しさん
2020/07/12(日) 17:15:44.85ID:/RSb8Vzv 和田メソッドの信者は被害者でもあり加害者でもある。
365デフォルトの名無しさん
2020/07/12(日) 18:31:40.10ID:6LAoyHzZ しかしその理由は何一つ言えない。中身が無いからだ。
366デフォルトの名無しさん
2020/07/12(日) 18:43:30.23ID:/RSb8Vzv 眉唾理論。
367デフォルトの名無しさん
2020/07/12(日) 18:53:56.08ID:hGDsxp2M >>366
なるほど、つまりTDDはテストが開発を駆動するという考え方で
テストによって実装や設計が導かれるということなのだけれども
設計過剰だったり設計不足だったりする
設計は本来ドメインに関する知識から導かれるものなので
入力、出力を決めたら自動的に最適な設計が見つかりますなんて
そんな都合の良いことが起こるわけもなくTDDは現代では否定されていて
単体テストよりもシステムテストを重視したほうが製品の品質はあがるわけですな
なるほど、つまりTDDはテストが開発を駆動するという考え方で
テストによって実装や設計が導かれるということなのだけれども
設計過剰だったり設計不足だったりする
設計は本来ドメインに関する知識から導かれるものなので
入力、出力を決めたら自動的に最適な設計が見つかりますなんて
そんな都合の良いことが起こるわけもなくTDDは現代では否定されていて
単体テストよりもシステムテストを重視したほうが製品の品質はあがるわけですな
368デフォルトの名無しさん
2020/07/12(日) 18:54:49.46ID:/RSb8Vzv 説明に対して全く聞く耳を持たず、和田経典に書いてあると繰り返すだけだから、宗教的なナニカ扱いされてる。
369デフォルトの名無しさん
2020/07/12(日) 19:04:08.64ID:/RSb8Vzv t-wadaがお勧めする和田メソッド。
騙されたやつ多いのでは。
騙されたやつ多いのでは。
370デフォルトの名無しさん
2020/07/12(日) 19:10:42.57ID:6LAoyHzZ371デフォルトの名無しさん
2020/07/12(日) 19:20:59.87ID:/RSb8Vzv どこで否定されてるのとか、これまでのみんなの説明が全くの無駄。
和田さんには和田さんの経典があり、みんなの意見には耳を貸さない。
だから宗教と言われてる。
和田さんには和田さんの経典があり、みんなの意見には耳を貸さない。
だから宗教と言われてる。
372デフォルトの名無しさん
2020/07/12(日) 19:22:03.23ID:hGDsxp2M 前スレですばらしい分析を見たなあ
897+1 :デフォルトの名無しさん [↓] :2020/07/05(日) 11:28:59.86 ID:YdQ981ul
>>870
新しい理論や手法を提唱する人には良くあることだと思うけど、その理論はある前提、ある側面では正しいけど、常に無条件に適用することは正しくないと本人は分かっていて、敢えてそういうことはわざわざ詳しくは説明しない。自分の論が有用な物だと主張したいがため、嘘はつかない範囲で相手が勝手に誤解してすごいと思わせるような物言いをする。
で、その理論に感銘を受けた人の一部が、理論の表面的な効能だけをありがたく受け取って問題点や前提条件などは正しく理解しないまま、受け売りの知識を他所で披露する。
そこで議論になると、本質をちゃんと理解してないまま自説を擁護しようとするから、無理が生じたり話が噛み合わなかったりする。
という流れでイマココなのかなと思う。
897+1 :デフォルトの名無しさん [↓] :2020/07/05(日) 11:28:59.86 ID:YdQ981ul
>>870
新しい理論や手法を提唱する人には良くあることだと思うけど、その理論はある前提、ある側面では正しいけど、常に無条件に適用することは正しくないと本人は分かっていて、敢えてそういうことはわざわざ詳しくは説明しない。自分の論が有用な物だと主張したいがため、嘘はつかない範囲で相手が勝手に誤解してすごいと思わせるような物言いをする。
で、その理論に感銘を受けた人の一部が、理論の表面的な効能だけをありがたく受け取って問題点や前提条件などは正しく理解しないまま、受け売りの知識を他所で披露する。
そこで議論になると、本質をちゃんと理解してないまま自説を擁護しようとするから、無理が生じたり話が噛み合わなかったりする。
という流れでイマココなのかなと思う。
>>372
昔の言い方でいうところの「東大話法」というやつですね…
昔の言い方でいうところの「東大話法」というやつですね…
374デフォルトの名無しさん
2020/07/13(月) 00:50:54.57ID:b4eaK6qk375デフォルトの名無しさん
2020/07/13(月) 00:54:17.24ID:b4eaK6qk >>371
ここに和田さんはいないんだから、意見を聞かないはずだという逃げの言葉で
お前の意見を言わないのはおかしい。
他人が意見を聞くかは関係なく、
お前の意見を言えばいい。
言えないなら、反論するすべがないというのがお前に対する結論だ。
ここに和田さんはいないんだから、意見を聞かないはずだという逃げの言葉で
お前の意見を言わないのはおかしい。
他人が意見を聞くかは関係なく、
お前の意見を言えばいい。
言えないなら、反論するすべがないというのがお前に対する結論だ。
376デフォルトの名無しさん
2020/07/13(月) 01:12:00.86ID:Lu0QN2xA >>1 がアスペのスレ
377デフォルトの名無しさん
2020/07/13(月) 01:12:57.80ID:Lu0QN2xA 和田メソッドの弊害
378デフォルトの名無しさん
2020/07/13(月) 01:36:28.61ID:b4eaK6qk と繰り返えすだけ
379デフォルトの名無しさん
2020/07/13(月) 06:26:53.87ID:7vLZz4H7380デフォルトの名無しさん
2020/07/13(月) 07:01:21.00ID:7vLZz4H7 和田メソッドのせいで日本のITが10年遅れた。
381デフォルトの名無しさん
2020/07/13(月) 07:07:45.10ID:b4eaK6qk 和田メソッドって単なるTDDだぞ?
382デフォルトの名無しさん
2020/07/13(月) 08:39:56.06ID:7vLZz4H7 イイエ違います。
和田メソッドは宗教です。
和田メソッドは宗教です。
383デフォルトの名無しさん
2020/07/13(月) 08:41:17.44ID:7vLZz4H7 和田さんはこのスレに居ないと書き込んでるのが御本人かもしれない。
384デフォルトの名無しさん
2020/07/14(火) 13:34:51.74ID:6KNOtJR0 ステマスレ。
385デフォルトの名無しさん
2020/07/16(木) 12:32:21.61ID:PwJLBkvh 失速したな
TDDはプロトタイピングと組み合わせると良いかもね
テスト書かずに概ね正確に動作するコードを書いた後に
ブラッシュアップする目的でTDDを使って書き直す感じ
TDDはプロトタイピングと組み合わせると良いかもね
テスト書かずに概ね正確に動作するコードを書いた後に
ブラッシュアップする目的でTDDを使って書き直す感じ
386デフォルトの名無しさん
2020/07/16(木) 12:34:19.44ID:PwJLBkvh TDDを布教する人が何回も同じコード書いてうまくなっていくように
書き捨てたコードの数だけTDDは洗練されるんじゃなかろうかと
書き捨てたコードの数だけTDDは洗練されるんじゃなかろうかと
387デフォルトの名無しさん
2020/07/16(木) 13:59:03.56ID:r2RuGKFG 和田メソッドのせいで失われた日本ITの20年。
388デフォルトの名無しさん
2020/07/16(木) 15:09:03.31ID:fGKOjjQM 和田さんじゃなくてTDDの話をしよう
詳しい人いないの?
詳しい人いないの?
389デフォルトの名無しさん
2020/07/16(木) 15:51:48.48ID:F4CmQs0T テスト書くタイミングについてなら少しだけ。
わりとだら〜と書いて関数なりクラスなり切り出したタイミングで書く感じ。
テストから書くってのは普通の人には難易度高い気がするわ。
わりとだら〜と書いて関数なりクラスなり切り出したタイミングで書く感じ。
テストから書くってのは普通の人には難易度高い気がするわ。
390デフォルトの名無しさん
2020/07/17(金) 02:41:00.28ID:sGfB37JM 最終的なプログラムの詳細設計がパッと頭に浮かぶ人ならテストから書けるんだろうけど
プロトタイプぐちゃぐちゃ作って、やっと構造が決まって、とりあえず動くもの作った後でリファクタリング、な俺には無理だなぁ
プロトタイプぐちゃぐちゃ作って、やっと構造が決まって、とりあえず動くもの作った後でリファクタリング、な俺には無理だなぁ
391デフォルトの名無しさん
2020/07/17(金) 11:27:59.95ID:wlvhc7i8 >>390
そういうやり方にこそTDD的なアプローチが有効だと思うが
そういうやり方にこそTDD的なアプローチが有効だと思うが
392デフォルトの名無しさん
2020/07/17(金) 20:03:07.08ID:kbqCxtb3 >>390
構造が決まった時に設計が始まるんじゃないのか?
構造が決まった時に設計が始まるんじゃないのか?
393デフォルトの名無しさん
2020/07/18(土) 12:01:53.91ID:LD7t+FRX 和田メソッドの弊害
394デフォルトの名無しさん
2020/07/19(日) 03:03:24.79ID:wRjhKBiZ395デフォルトの名無しさん
2020/07/20(月) 18:19:36.42ID:M9WZmhVk リフレクション使え
終わり
終わり
396デフォルトの名無しさん
2020/07/24(金) 00:52:33.29ID:NBbGzvfl397デフォルトの名無しさん
2020/07/26(日) 01:00:24.09ID:5rw0opQZ 相変わらずオブジェクト指向信じて
頑張ってるJavaプログラマさん達に
お伺いしたいんだけどさぁ
Javaでオブジェクトをsystem.out.printしても
変な文字列出てくるだけでオブジェクトの中身見れないよね?
これってあんたらの好きな「カプセル化」のせいでしょ?
これ新人にはめっちゃ不人気でみんなJavaディスってんだよね。
一方JavaScriptやPythonは
オブジェクトをconsole.logするとオブジェクトの中身
全部一目瞭然に見れるし▶ボタンで折りたたみとかも出来
ちゃうわけよ。
Pythonは折り畳めないけどそれでも見やすいよ。
こんな簡単な揺るがぬ真実を説明するのに
「コンストラクタ」とか「ポリモーフィズム」とか
「メソッド」「インタフェース」「継承」
「オーバーライド」こんなクソみたいな単語を一切使わなくても
簡単に説明できるわけ。
これでJavaScriptやPythonはイケてる言語で
Javaやオブジェクト思考は糞だって事が分かったね。
誰でも簡単に理解できるよね。
頑張ってるJavaプログラマさん達に
お伺いしたいんだけどさぁ
Javaでオブジェクトをsystem.out.printしても
変な文字列出てくるだけでオブジェクトの中身見れないよね?
これってあんたらの好きな「カプセル化」のせいでしょ?
これ新人にはめっちゃ不人気でみんなJavaディスってんだよね。
一方JavaScriptやPythonは
オブジェクトをconsole.logするとオブジェクトの中身
全部一目瞭然に見れるし▶ボタンで折りたたみとかも出来
ちゃうわけよ。
Pythonは折り畳めないけどそれでも見やすいよ。
こんな簡単な揺るがぬ真実を説明するのに
「コンストラクタ」とか「ポリモーフィズム」とか
「メソッド」「インタフェース」「継承」
「オーバーライド」こんなクソみたいな単語を一切使わなくても
簡単に説明できるわけ。
これでJavaScriptやPythonはイケてる言語で
Javaやオブジェクト思考は糞だって事が分かったね。
誰でも簡単に理解できるよね。
398デフォルトの名無しさん
2020/07/26(日) 01:16:15.62ID:UOIkKqDd おっ、そうだな
399デフォルトの名無しさん
2020/07/26(日) 01:16:16.56ID:T2XYMYOv わかりやすいREPLが使える言語のほうが学習効率が高いのは確かだが
標準でオブジェクトの中身がprintされるかどうかはカプセル化とは関係ない
標準でオブジェクトの中身がprintされるかどうかはカプセル化とは関係ない
400デフォルトの名無しさん
2020/07/26(日) 02:14:47.15ID:uGb+RxKs p obj
Ruby なら、これでインスタンスの内容が分かる
この時に、Object ID みたいな謎の文字が表示されて困る場合は、
Object#inspect をオーバーライドして、好きな内容に変える
これは、たいていの言語の「Effective 何々」という本に書いてある。
まず最初に、表示メッセージを分かりやすいように、オーバーライドしろって
Ruby なら、これでインスタンスの内容が分かる
この時に、Object ID みたいな謎の文字が表示されて困る場合は、
Object#inspect をオーバーライドして、好きな内容に変える
これは、たいていの言語の「Effective 何々」という本に書いてある。
まず最初に、表示メッセージを分かりやすいように、オーバーライドしろって
401デフォルトの名無しさん
2020/07/26(日) 10:27:42.72ID:XQciIU0B >>397
> Javaでオブジェクトをsystem.out.printしても
> 変な文字列出てくるだけでオブジェクトの中身見れないよね?
JavaScriptのオブジェクトは連想配列
というわけで、Javaで連想配列を作ってprintしてみた
https://paiza.io/projects/OnW9KR89v5m-CY5JXIV2tw
> これってあんたらの好きな「カプセル化」のせいでしょ?
オブジェクトをprintしたときはそのオブジェクトのtoStringメソッドが呼ばれる
これは「ポリモーフィズム」のおかげ
toStringメソッドはObjectクラスで宣言されている
すべてのオブジェクトはObjectクラスを「継承」しているため
toStringメソッドを「オーバーライド」して任意の値を返却できる
「カプセル化」は関係ない
> 一方JavaScriptやPythonは
> オブジェクトをconsole.logするとオブジェクトの中身
> 全部一目瞭然に見れるし?ボタンで折りたたみとかも出来
> ちゃうわけよ。
すてきなデバッガです
> Javaでオブジェクトをsystem.out.printしても
> 変な文字列出てくるだけでオブジェクトの中身見れないよね?
JavaScriptのオブジェクトは連想配列
というわけで、Javaで連想配列を作ってprintしてみた
https://paiza.io/projects/OnW9KR89v5m-CY5JXIV2tw
> これってあんたらの好きな「カプセル化」のせいでしょ?
オブジェクトをprintしたときはそのオブジェクトのtoStringメソッドが呼ばれる
これは「ポリモーフィズム」のおかげ
toStringメソッドはObjectクラスで宣言されている
すべてのオブジェクトはObjectクラスを「継承」しているため
toStringメソッドを「オーバーライド」して任意の値を返却できる
「カプセル化」は関係ない
> 一方JavaScriptやPythonは
> オブジェクトをconsole.logするとオブジェクトの中身
> 全部一目瞭然に見れるし?ボタンで折りたたみとかも出来
> ちゃうわけよ。
すてきなデバッガです
402デフォルトの名無しさん
2020/07/26(日) 10:36:11.38ID:XQciIU0B PythonやJavaScriptがイケてる言語であることは間違いない
Javaよりも開発者多いのじゃないかな
PythonはAIで使われているし大学の授業でも使われていて
それまでC言語で教えてた内容をPythonで教えるようにしたら
学生の成績が飛躍的に上がったという話がある
人間の認知能力に最適な言語
JavaScriptはWebのクライアントでもサーバでも使われていて
日進月歩で進化している最も熱い言語
Javaよりも開発者多いのじゃないかな
PythonはAIで使われているし大学の授業でも使われていて
それまでC言語で教えてた内容をPythonで教えるようにしたら
学生の成績が飛躍的に上がったという話がある
人間の認知能力に最適な言語
JavaScriptはWebのクライアントでもサーバでも使われていて
日進月歩で進化している最も熱い言語
403デフォルトの名無しさん
2020/07/26(日) 10:45:55.24ID:XQciIU0B Javaは昔はオブジェクト指向一筋の堅物みたいな感じだったけど
最近はラムダ式やStream、CompletableFutureの導入など
どちらかというと関数型の方に傾倒していて、オブジェクト指向と関数型の
良いとこ取りをしようとしてる
最近はラムダ式やStream、CompletableFutureの導入など
どちらかというと関数型の方に傾倒していて、オブジェクト指向と関数型の
良いとこ取りをしようとしてる
404デフォルトの名無しさん
2020/07/27(月) 06:13:01.93ID:czX+V0Vr javaに限った話ではない
405デフォルトの名無しさん
2020/07/27(月) 09:27:57.59ID:EH5Hzntf そもそも単体で平置き出来る関数が出来るまでバカみたいに長い年月が掛かったからその間に他の言語に抜かされていった
406デフォルトの名無しさん
2020/07/27(月) 12:53:06.35ID:uT7O59Px オブジェクト指向もテストの文脈で語られるようになって、
だいぶ胡散臭い馬鹿が減ったと思う。
だいぶ胡散臭い馬鹿が減ったと思う。
407デフォルトの名無しさん
2020/07/27(月) 13:33:10.26ID:EH5Hzntf 胡散臭くない小奇麗なバカは減って無い、ってことだな
408デフォルトの名無しさん
2020/07/27(月) 15:11:13.32ID:JMeMRaZ4 論理的には間違ってる
409デフォルトの名無しさん
2020/07/27(月) 21:43:04.96ID:bbLqvN0i >>405
「体で平置き出来る関数」ってどんなの?
「体で平置き出来る関数」ってどんなの?
410デフォルトの名無しさん
2020/07/27(月) 21:54:44.65ID:qUTrza9Z TDDに限定するならともかく、一般論として「テストの文脈で」語ろうとするのは
逆にそっちの方が胡散臭いなぁ。
逆にそっちの方が胡散臭いなぁ。
411デフォルトの名無しさん
2020/07/28(火) 04:52:38.60ID:8gdXVNyA 「体で平置き」とか体育会系っぽいな
412デフォルトの名無しさん
2020/07/28(火) 19:28:28.71ID:CaGFADkT 平置き出来る関数って何?
413デフォルトの名無しさん
2020/07/28(火) 23:55:37.61ID:+i8brD7d 第一級関数の事じゃね
414デフォルトの名無しさん
2020/07/29(水) 00:11:33.88ID:ap0sh9Fh class/object instance scopeにあるmethodではない関数または関数objectのことではないかいな
415デフォルトの名無しさん
2020/07/29(水) 02:31:20.73ID:TpnjQV/H 無能は言葉を知らない
416デフォルトの名無しさん
2020/07/29(水) 07:34:13.23ID:m6wyrrlf 俺様定義でしゃべるヤツが多いけどな
417デフォルトの名無しさん
2020/07/29(水) 07:49:48.28ID:Jlc+lISV 「平置き出来る関数」なんてどこの村で通じる方言なん?
418デフォルトの名無しさん
2020/07/29(水) 08:44:34.08ID:yJ6wpcWu 文脈でわかると思うけどね
自分の辞書にないからわからないというやつはただのアホ
自分の辞書にないからわからないというやつはただのアホ
419デフォルトの名無しさん
2020/07/29(水) 08:52:18.07ID:yJ6wpcWu 慎吾ママが両手を広げて「おっはー」と言ったらおはようの意味だとわかるし
貴乃花親方がドアを開けて「あーす」と言ったらおはようございますの意味だとわかるだろ
「平置きできる関数」がわからない人は自分が八角理事長だと自覚したが良い
貴乃花親方がドアを開けて「あーす」と言ったらおはようございますの意味だとわかるだろ
「平置きできる関数」がわからない人は自分が八角理事長だと自覚したが良い
420デフォルトの名無しさん
2020/07/29(水) 09:00:12.23ID:WjPZZ4ye その流れなら「ひっらー」だろ
平沖出来る関数は
平沖出来る関数は
421デフォルトの名無しさん
2020/07/29(水) 10:11:11.33ID:TpnjQV/H 他人と議論をしようと言う時に文脈でしかわからない言葉を使うな無能が
■ このスレッドは過去ログ倉庫に格納されています
