[過去ログ]
カプセル化■プライベートメソッドをテストする方法 (476レス)
カプセル化■プライベートメソッドをテストする方法 http://mevius.5ch.net/test/read.cgi/tech/1593949666/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: デフォルトの名無しさん [sage] 2020/07/05(日) 20:47:46.60 ID:M+BkbwUs ■短い回答 プライベートをテストしたい場合は設計に問題があるので、パブリックに変更してテストしましょう ■これに対する(変な人の)驚いた反論 プライベートを一時的にパブリックにして、テストが終わったら プライベートに戻すなんてやるわけないだろw ↑誰もそんなコトしろなんて言ってない ■テスト専門家による回答 t-wadaのブログ https://t-wada.hatenablog.jp/entry/should-we-test-private-methods 短くまとめると、プライベートなメソッドのテストを書く必要は 無い と考えています。 ほとんどのプライベートメソッドはパブリックメソッド経由でテストできるからです。 プライベートメソッドは実装の詳細であり、自動テストのターゲットとなる「外部から見た振る舞い」ではありません。 プライベートなメソッドのテストに関しては、4つの考え方があります。 ・パブリックメソッド経由でテストする ・別クラスのパブリックメソッドとする ・テスト対象の可視性を(やや)上げる ・プライベートのまま、リフレクションでアクセスしてテストを書く パブリックメソッド経由でテストする 多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。テストできているか不安があるならテストカバレッジを確認しましょう。 別クラスのパブリックメソッドとする プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを示唆している場合があります。 テストがどうしても書きたい場合は、その責務はテスト対象のプライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/1
350: デフォルトの名無しさん [] 2020/07/11(土) 22:52:25.23 ID:JFnadz6+ > >>337 > まるで和田メソッド(TDDの常識的な手法)に > 限界があるような言い方してるじゃんw > > 自分が何も知らないのに、限界があるんじゃないかという > 疑いをかけるのはだめ。 疑いをかけられてないと思ってる人間が疑いをかけるのはだめとは言わんでしょう http://mevius.5ch.net/test/read.cgi/tech/1593949666/350
351: デフォルトの名無しさん [sage] 2020/07/11(土) 22:53:46.53 ID:fJlL8BSP >>350 日本語が理解できてないねw http://mevius.5ch.net/test/read.cgi/tech/1593949666/351
352: デフォルトの名無しさん [] 2020/07/11(土) 22:56:57.75 ID:JFnadz6+ 君は疑いをかけられてると思っていた 僕は一般論だよと言った 君は疑いをかけられてないと言い出した 僕はそんなの当たり前だろということを示すために君は日本語を使ってると 当たり前のことを言って皮肉った という流れだったんだ http://mevius.5ch.net/test/read.cgi/tech/1593949666/352
353: デフォルトの名無しさん [] 2020/07/11(土) 23:20:35.55 ID:JFnadz6+ もうお互い大変でしょう、僕と仲直りしましょうか? 君にアホと言ったのは謝るよ、君が僕にバカと言ったのは忘れるよ 僕は心の広い知的なイケメンです http://mevius.5ch.net/test/read.cgi/tech/1593949666/353
354: デフォルトの名無しさん [] 2020/07/12(日) 08:15:23.41 ID:/RSb8Vzv 和田メソッドの真骨頂は、バグを作り込まなければテストする必要が無いことにある。 テストは甘え、甘えがある限りバグは無くならない。 つまり、テストしない仕組みづくりこそが和田メソッドである。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/354
355: デフォルトの名無しさん [sage] 2020/07/12(日) 09:15:09.92 ID:SoQxatgN クソみたいな議論ばっかに見えるがプログラム技術板の中ではわりかしまともな方になってるぞ。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/355
356: デフォルトの名無しさん [sage] 2020/07/12(日) 09:33:56.05 ID:zf8GLb7g >>355 参考までにまともだと思うレス番教えてくれ http://mevius.5ch.net/test/read.cgi/tech/1593949666/356
357: デフォルトの名無しさん [sage] 2020/07/12(日) 12:19:27.16 ID:6LAoyHzZ >>354 デマ禁止な http://mevius.5ch.net/test/read.cgi/tech/1593949666/357
358: デフォルトの名無しさん [] 2020/07/12(日) 15:39:00.55 ID:/RSb8Vzv 和田メソッド被害者の会結成しなくては。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/358
359: デフォルトの名無しさん [sage] 2020/07/12(日) 16:03:31.03 ID:lQJaWZP0 本当の被害者は自分が被害を受けたと自覚していない http://mevius.5ch.net/test/read.cgi/tech/1593949666/359
360: デフォルトの名無しさん [] 2020/07/12(日) 16:04:35.47 ID:/RSb8Vzv それは恐ろしい話だけど、このスレにもちらほらいるね。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/360
361: デフォルトの名無しさん [sage] 2020/07/12(日) 16:04:37.33 ID:6LAoyHzZ そういう人に、どういう被害を受けたかを説明できればね(笑) 結局、被害の内容を言えないんだから、被害はなかったということ http://mevius.5ch.net/test/read.cgi/tech/1593949666/361
362: デフォルトの名無しさん [] 2020/07/12(日) 16:11:56.07 ID:/RSb8Vzv オウム真理教の信者は被害者でもあり加害者でもある。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/362
363: デフォルトの名無しさん [sage] 2020/07/12(日) 16:47:10.65 ID:6LAoyHzZ 上の方でも書いたけど「例え」は何かを批判するときに使ってはだめ 「それは別の話で関係ない」という簡単な一言が完璧な反論になってしまうから http://mevius.5ch.net/test/read.cgi/tech/1593949666/363
364: デフォルトの名無しさん [] 2020/07/12(日) 17:15:44.85 ID:/RSb8Vzv 和田メソッドの信者は被害者でもあり加害者でもある。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/364
365: デフォルトの名無しさん [sage] 2020/07/12(日) 18:31:40.10 ID:6LAoyHzZ しかしその理由は何一つ言えない。中身が無いからだ。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/365
366: デフォルトの名無しさん [] 2020/07/12(日) 18:43:30.23 ID:/RSb8Vzv 眉唾理論。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/366
367: デフォルトの名無しさん [] 2020/07/12(日) 18:53:56.08 ID:hGDsxp2M >>366 なるほど、つまりTDDはテストが開発を駆動するという考え方で テストによって実装や設計が導かれるということなのだけれども 設計過剰だったり設計不足だったりする 設計は本来ドメインに関する知識から導かれるものなので 入力、出力を決めたら自動的に最適な設計が見つかりますなんて そんな都合の良いことが起こるわけもなくTDDは現代では否定されていて 単体テストよりもシステムテストを重視したほうが製品の品質はあがるわけですな http://mevius.5ch.net/test/read.cgi/tech/1593949666/367
368: デフォルトの名無しさん [] 2020/07/12(日) 18:54:49.46 ID:/RSb8Vzv 説明に対して全く聞く耳を持たず、和田経典に書いてあると繰り返すだけだから、宗教的なナニカ扱いされてる。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/368
369: デフォルトの名無しさん [] 2020/07/12(日) 19:04:08.64 ID:/RSb8Vzv t-wadaがお勧めする和田メソッド。 騙されたやつ多いのでは。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/369
370: デフォルトの名無しさん [sage] 2020/07/12(日) 19:10:42.57 ID:6LAoyHzZ >>367 > TDDは現代では否定されていて どこで否定されてるの?さらっとウソを付かないように。 どうせすぐに俺がバラすんだから意味ないよ(笑) http://mevius.5ch.net/test/read.cgi/tech/1593949666/370
371: デフォルトの名無しさん [] 2020/07/12(日) 19:20:59.87 ID:/RSb8Vzv どこで否定されてるのとか、これまでのみんなの説明が全くの無駄。 和田さんには和田さんの経典があり、みんなの意見には耳を貸さない。 だから宗教と言われてる。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/371
372: デフォルトの名無しさん [] 2020/07/12(日) 19:22:03.23 ID:hGDsxp2M 前スレですばらしい分析を見たなあ 897+1 :デフォルトの名無しさん [↓] :2020/07/05(日) 11:28:59.86 ID:YdQ981ul >>870 新しい理論や手法を提唱する人には良くあることだと思うけど、その理論はある前提、ある側面では正しいけど、常に無条件に適用することは正しくないと本人は分かっていて、敢えてそういうことはわざわざ詳しくは説明しない。自分の論が有用な物だと主張したいがため、嘘はつかない範囲で相手が勝手に誤解してすごいと思わせるような物言いをする。 で、その理論に感銘を受けた人の一部が、理論の表面的な効能だけをありがたく受け取って問題点や前提条件などは正しく理解しないまま、受け売りの知識を他所で披露する。 そこで議論になると、本質をちゃんと理解してないまま自説を擁護しようとするから、無理が生じたり話が噛み合わなかったりする。 という流れでイマココなのかなと思う。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/372
373: ◆QZaw55cn4c [sage] 2020/07/12(日) 19:58:09.07 ID:YoHAyY/u >>372 昔の言い方でいうところの「東大話法」というやつですね… http://mevius.5ch.net/test/read.cgi/tech/1593949666/373
374: デフォルトの名無しさん [sage] 2020/07/13(月) 00:50:54.57 ID:b4eaK6qk >>372 素晴らしい分析? それはTDDに関しての分析じゃないよ その文章はTDDに関して何一つ言及していない。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/374
375: デフォルトの名無しさん [sage] 2020/07/13(月) 00:54:17.24 ID:b4eaK6qk >>371 ここに和田さんはいないんだから、意見を聞かないはずだという逃げの言葉で お前の意見を言わないのはおかしい。 他人が意見を聞くかは関係なく、 お前の意見を言えばいい。 言えないなら、反論するすべがないというのがお前に対する結論だ。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/375
376: デフォルトの名無しさん [age] 2020/07/13(月) 01:12:00.86 ID:Lu0QN2xA >>1 がアスペのスレ http://mevius.5ch.net/test/read.cgi/tech/1593949666/376
377: デフォルトの名無しさん [age] 2020/07/13(月) 01:12:57.80 ID:Lu0QN2xA 和田メソッドの弊害 http://mevius.5ch.net/test/read.cgi/tech/1593949666/377
378: デフォルトの名無しさん [sage] 2020/07/13(月) 01:36:28.61 ID:b4eaK6qk と繰り返えすだけ http://mevius.5ch.net/test/read.cgi/tech/1593949666/378
379: デフォルトの名無しさん [] 2020/07/13(月) 06:26:53.87 ID:7vLZz4H7 >>375 イイエ居ます。 みんな説明してます。 見えないことにするなら、みんなの書き込みが無駄です。 和田メソッドはカルト宗教の様相を呈してきた。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/379
380: デフォルトの名無しさん [] 2020/07/13(月) 07:01:21.00 ID:7vLZz4H7 和田メソッドのせいで日本のITが10年遅れた。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/380
381: デフォルトの名無しさん [sage] 2020/07/13(月) 07:07:45.10 ID:b4eaK6qk 和田メソッドって単なるTDDだぞ? http://mevius.5ch.net/test/read.cgi/tech/1593949666/381
382: デフォルトの名無しさん [] 2020/07/13(月) 08:39:56.06 ID:7vLZz4H7 イイエ違います。 和田メソッドは宗教です。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/382
383: デフォルトの名無しさん [] 2020/07/13(月) 08:41:17.44 ID:7vLZz4H7 和田さんはこのスレに居ないと書き込んでるのが御本人かもしれない。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/383
384: デフォルトの名無しさん [] 2020/07/14(火) 13:34:51.74 ID:6KNOtJR0 ステマスレ。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/384
385: デフォルトの名無しさん [] 2020/07/16(木) 12:32:21.61 ID:PwJLBkvh 失速したな TDDはプロトタイピングと組み合わせると良いかもね テスト書かずに概ね正確に動作するコードを書いた後に ブラッシュアップする目的でTDDを使って書き直す感じ http://mevius.5ch.net/test/read.cgi/tech/1593949666/385
386: デフォルトの名無しさん [] 2020/07/16(木) 12:34:19.44 ID:PwJLBkvh TDDを布教する人が何回も同じコード書いてうまくなっていくように 書き捨てたコードの数だけTDDは洗練されるんじゃなかろうかと http://mevius.5ch.net/test/read.cgi/tech/1593949666/386
387: デフォルトの名無しさん [] 2020/07/16(木) 13:59:03.56 ID:r2RuGKFG 和田メソッドのせいで失われた日本ITの20年。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/387
388: デフォルトの名無しさん [sage] 2020/07/16(木) 15:09:03.31 ID:fGKOjjQM 和田さんじゃなくてTDDの話をしよう 詳しい人いないの? http://mevius.5ch.net/test/read.cgi/tech/1593949666/388
389: デフォルトの名無しさん [sage] 2020/07/16(木) 15:51:48.48 ID:F4CmQs0T テスト書くタイミングについてなら少しだけ。 わりとだら〜と書いて関数なりクラスなり切り出したタイミングで書く感じ。 テストから書くってのは普通の人には難易度高い気がするわ。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/389
390: デフォルトの名無しさん [sage] 2020/07/17(金) 02:41:00.28 ID:sGfB37JM 最終的なプログラムの詳細設計がパッと頭に浮かぶ人ならテストから書けるんだろうけど プロトタイプぐちゃぐちゃ作って、やっと構造が決まって、とりあえず動くもの作った後でリファクタリング、な俺には無理だなぁ http://mevius.5ch.net/test/read.cgi/tech/1593949666/390
391: デフォルトの名無しさん [sage] 2020/07/17(金) 11:27:59.95 ID:wlvhc7i8 >>390 そういうやり方にこそTDD的なアプローチが有効だと思うが http://mevius.5ch.net/test/read.cgi/tech/1593949666/391
392: デフォルトの名無しさん [sage] 2020/07/17(金) 20:03:07.08 ID:kbqCxtb3 >>390 構造が決まった時に設計が始まるんじゃないのか? http://mevius.5ch.net/test/read.cgi/tech/1593949666/392
393: デフォルトの名無しさん [age] 2020/07/18(土) 12:01:53.91 ID:LD7t+FRX 和田メソッドの弊害 http://mevius.5ch.net/test/read.cgi/tech/1593949666/393
394: デフォルトの名無しさん [sage] 2020/07/19(日) 03:03:24.79 ID:wRjhKBiZ https://i.imgur.com/azm6Xga.jpg http://mevius.5ch.net/test/read.cgi/tech/1593949666/394
395: デフォルトの名無しさん [sage] 2020/07/20(月) 18:19:36.42 ID:M9WZmhVk リフレクション使え 終わり http://mevius.5ch.net/test/read.cgi/tech/1593949666/395
396: デフォルトの名無しさん [sage] 2020/07/24(金) 00:52:33.29 ID:NBbGzvfl https://cdnegc.trafficfactory.biz/banners/41/ac/bc/67d6672dc5a49cb31207f1e7c17556e2.gif http://mevius.5ch.net/test/read.cgi/tech/1593949666/396
397: デフォルトの名無しさん [] 2020/07/26(日) 01:00:24.09 ID:5rw0opQZ 相変わらずオブジェクト指向信じて 頑張ってるJavaプログラマさん達に お伺いしたいんだけどさぁ Javaでオブジェクトをsystem.out.printしても 変な文字列出てくるだけでオブジェクトの中身見れないよね? これってあんたらの好きな「カプセル化」のせいでしょ? これ新人にはめっちゃ不人気でみんなJavaディスってんだよね。 一方JavaScriptやPythonは オブジェクトをconsole.logするとオブジェクトの中身 全部一目瞭然に見れるし▶ボタンで折りたたみとかも出来 ちゃうわけよ。 Pythonは折り畳めないけどそれでも見やすいよ。 こんな簡単な揺るがぬ真実を説明するのに 「コンストラクタ」とか「ポリモーフィズム」とか 「メソッド」「インタフェース」「継承」 「オーバーライド」こんなクソみたいな単語を一切使わなくても 簡単に説明できるわけ。 これでJavaScriptやPythonはイケてる言語で Javaやオブジェクト思考は糞だって事が分かったね。 誰でも簡単に理解できるよね。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/397
398: デフォルトの名無しさん [sage] 2020/07/26(日) 01:16:15.62 ID:UOIkKqDd おっ、そうだな http://mevius.5ch.net/test/read.cgi/tech/1593949666/398
399: デフォルトの名無しさん [sage] 2020/07/26(日) 01:16:16.56 ID:T2XYMYOv わかりやすいREPLが使える言語のほうが学習効率が高いのは確かだが 標準でオブジェクトの中身がprintされるかどうかはカプセル化とは関係ない http://mevius.5ch.net/test/read.cgi/tech/1593949666/399
400: デフォルトの名無しさん [sage] 2020/07/26(日) 02:14:47.15 ID:uGb+RxKs p obj Ruby なら、これでインスタンスの内容が分かる この時に、Object ID みたいな謎の文字が表示されて困る場合は、 Object#inspect をオーバーライドして、好きな内容に変える これは、たいていの言語の「Effective 何々」という本に書いてある。 まず最初に、表示メッセージを分かりやすいように、オーバーライドしろって http://mevius.5ch.net/test/read.cgi/tech/1593949666/400
401: デフォルトの名無しさん [] 2020/07/26(日) 10:27:42.72 ID: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するとオブジェクトの中身 > 全部一目瞭然に見れるし?ボタンで折りたたみとかも出来 > ちゃうわけよ。 すてきなデバッガです http://mevius.5ch.net/test/read.cgi/tech/1593949666/401
402: デフォルトの名無しさん [] 2020/07/26(日) 10:36:11.38 ID:XQciIU0B PythonやJavaScriptがイケてる言語であることは間違いない Javaよりも開発者多いのじゃないかな PythonはAIで使われているし大学の授業でも使われていて それまでC言語で教えてた内容をPythonで教えるようにしたら 学生の成績が飛躍的に上がったという話がある 人間の認知能力に最適な言語 JavaScriptはWebのクライアントでもサーバでも使われていて 日進月歩で進化している最も熱い言語 http://mevius.5ch.net/test/read.cgi/tech/1593949666/402
403: デフォルトの名無しさん [] 2020/07/26(日) 10:45:55.24 ID:XQciIU0B Javaは昔はオブジェクト指向一筋の堅物みたいな感じだったけど 最近はラムダ式やStream、CompletableFutureの導入など どちらかというと関数型の方に傾倒していて、オブジェクト指向と関数型の 良いとこ取りをしようとしてる http://mevius.5ch.net/test/read.cgi/tech/1593949666/403
404: デフォルトの名無しさん [sage] 2020/07/27(月) 06:13:01.93 ID:czX+V0Vr javaに限った話ではない http://mevius.5ch.net/test/read.cgi/tech/1593949666/404
405: デフォルトの名無しさん [] 2020/07/27(月) 09:27:57.59 ID:EH5Hzntf そもそも単体で平置き出来る関数が出来るまでバカみたいに長い年月が掛かったからその間に他の言語に抜かされていった http://mevius.5ch.net/test/read.cgi/tech/1593949666/405
406: デフォルトの名無しさん [sage`] 2020/07/27(月) 12:53:06.35 ID:uT7O59Px オブジェクト指向もテストの文脈で語られるようになって、 だいぶ胡散臭い馬鹿が減ったと思う。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/406
407: デフォルトの名無しさん [] 2020/07/27(月) 13:33:10.26 ID:EH5Hzntf 胡散臭くない小奇麗なバカは減って無い、ってことだな http://mevius.5ch.net/test/read.cgi/tech/1593949666/407
408: デフォルトの名無しさん [] 2020/07/27(月) 15:11:13.32 ID:JMeMRaZ4 論理的には間違ってる http://mevius.5ch.net/test/read.cgi/tech/1593949666/408
409: デフォルトの名無しさん [sage] 2020/07/27(月) 21:43:04.96 ID:bbLqvN0i >>405 「体で平置き出来る関数」ってどんなの? http://mevius.5ch.net/test/read.cgi/tech/1593949666/409
410: デフォルトの名無しさん [sage] 2020/07/27(月) 21:54:44.65 ID:qUTrza9Z TDDに限定するならともかく、一般論として「テストの文脈で」語ろうとするのは 逆にそっちの方が胡散臭いなぁ。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/410
411: デフォルトの名無しさん [sage] 2020/07/28(火) 04:52:38.60 ID:8gdXVNyA 「体で平置き」とか体育会系っぽいな http://mevius.5ch.net/test/read.cgi/tech/1593949666/411
412: デフォルトの名無しさん [sage] 2020/07/28(火) 19:28:28.71 ID:CaGFADkT 平置き出来る関数って何? http://mevius.5ch.net/test/read.cgi/tech/1593949666/412
413: デフォルトの名無しさん [age] 2020/07/28(火) 23:55:37.61 ID:+i8brD7d 第一級関数の事じゃね http://mevius.5ch.net/test/read.cgi/tech/1593949666/413
414: デフォルトの名無しさん [sage] 2020/07/29(水) 00:11:33.88 ID:ap0sh9Fh class/object instance scopeにあるmethodではない関数または関数objectのことではないかいな http://mevius.5ch.net/test/read.cgi/tech/1593949666/414
415: デフォルトの名無しさん [sage] 2020/07/29(水) 02:31:20.73 ID:TpnjQV/H 無能は言葉を知らない http://mevius.5ch.net/test/read.cgi/tech/1593949666/415
416: デフォルトの名無しさん [sage] 2020/07/29(水) 07:34:13.23 ID:m6wyrrlf 俺様定義でしゃべるヤツが多いけどな http://mevius.5ch.net/test/read.cgi/tech/1593949666/416
417: デフォルトの名無しさん [sage] 2020/07/29(水) 07:49:48.28 ID:Jlc+lISV 「平置き出来る関数」なんてどこの村で通じる方言なん? http://mevius.5ch.net/test/read.cgi/tech/1593949666/417
418: デフォルトの名無しさん [] 2020/07/29(水) 08:44:34.08 ID:yJ6wpcWu 文脈でわかると思うけどね 自分の辞書にないからわからないというやつはただのアホ http://mevius.5ch.net/test/read.cgi/tech/1593949666/418
419: デフォルトの名無しさん [] 2020/07/29(水) 08:52:18.07 ID:yJ6wpcWu 慎吾ママが両手を広げて「おっはー」と言ったらおはようの意味だとわかるし 貴乃花親方がドアを開けて「あーす」と言ったらおはようございますの意味だとわかるだろ 「平置きできる関数」がわからない人は自分が八角理事長だと自覚したが良い http://mevius.5ch.net/test/read.cgi/tech/1593949666/419
420: デフォルトの名無しさん [sage] 2020/07/29(水) 09:00:12.23 ID:WjPZZ4ye その流れなら「ひっらー」だろ 平沖出来る関数は http://mevius.5ch.net/test/read.cgi/tech/1593949666/420
421: デフォルトの名無しさん [sage] 2020/07/29(水) 10:11:11.33 ID:TpnjQV/H 他人と議論をしようと言う時に文脈でしかわからない言葉を使うな無能が http://mevius.5ch.net/test/read.cgi/tech/1593949666/421
422: デフォルトの名無しさん [] 2020/07/29(水) 11:23:16.72 ID:yJ6wpcWu >>421 文脈がわからない人間が議論に参加するべきではないと思うの 他人の言葉には寛容に、自分の言葉は厳密にが会話の基本 議論は会話の積み重ねなんだから会話の基本ができない人間は議論ができない人 他人の言葉に厳しい態度とっても良いことなんて無いよ http://mevius.5ch.net/test/read.cgi/tech/1593949666/422
423: デフォルトの名無しさん [] 2020/07/29(水) 11:26:28.92 ID:yJ6wpcWu プログラムでもそうだよね メソッドを宣言するときは引数はできるだけ広い型 戻り値はできるだけ狭い型 にすることで他のオブジェクトと協調しやすいプログラムができる なんでもかんでもインターフェイス使おうとするJavaの習慣は誠に遺憾 http://mevius.5ch.net/test/read.cgi/tech/1593949666/423
424: デフォルトの名無しさん [] 2020/07/29(水) 11:27:35.62 ID:yJ6wpcWu 他人には厳しいみなさん http://mevius.5ch.net/test/read.cgi/tech/1593949666/424
425: デフォルトの名無しさん [] 2020/07/29(水) 11:33:51.35 ID:2AXsdL6T 自分の説明能力の無さを相手が低脳だからと責任転嫁するヤシ http://mevius.5ch.net/test/read.cgi/tech/1593949666/425
426: デフォルトの名無しさん [] 2020/07/29(水) 11:36:20.63 ID:yJ6wpcWu 我々人間もメソッドなのかも知れませんね http://mevius.5ch.net/test/read.cgi/tech/1593949666/426
427: デフォルトの名無しさん [sage] 2020/07/29(水) 11:38:34.39 ID:10XNhQ52 >>422 > 自分の言葉は厳密にが会話の基本 いやだよばーかw 俺の言葉は寛容にだ。平置きでわからんやつが悪い お前は俺の言葉に寛容になれな。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/427
428: デフォルトの名無しさん [] 2020/07/29(水) 11:38:43.76 ID:yJ6wpcWu 自分の理解能力の無さを相手が無能だからと責任転嫁するココナツ http://mevius.5ch.net/test/read.cgi/tech/1593949666/428
429: デフォルトの名無しさん [] 2020/07/29(水) 11:39:49.67 ID:yJ6wpcWu >>427 僕は平置きでわかる派ですよ 完全に理解した http://mevius.5ch.net/test/read.cgi/tech/1593949666/429
430: デフォルトの名無しさん [sage] 2020/07/29(水) 11:41:33.11 ID:1IRv8wde で、結局のところ Javaで「単体で平置きできる関数」って何なの? コードで示してくれるといいんだか http://mevius.5ch.net/test/read.cgi/tech/1593949666/430
431: デフォルトの名無しさん [] 2020/07/29(水) 11:42:06.25 ID:yJ6wpcWu >>430 () -> "coconut" http://mevius.5ch.net/test/read.cgi/tech/1593949666/431
432: デフォルトの名無しさん [sage] 2020/07/29(水) 11:43:59.64 ID:Lu0VWFvI >>431 んん? それどこに置いてるの? http://mevius.5ch.net/test/read.cgi/tech/1593949666/432
433: デフォルトの名無しさん [sage] 2020/07/29(水) 11:54:07.92 ID:10XNhQ52 >>430 単体でおける関数ってわかりますよね? それを平置きするんですよ http://mevius.5ch.net/test/read.cgi/tech/1593949666/433
434: デフォルトの名無しさん [] 2020/07/29(水) 12:47:42.81 ID:yJ6wpcWu >>432 どこだと思う? http://mevius.5ch.net/test/read.cgi/tech/1593949666/434
435: デフォルトの名無しさん [] 2020/07/29(水) 13:01:46.48 ID:yJ6wpcWu 無限ココナツ Stream.generate(() -> "coconut").forEach(System.out::println); http://mevius.5ch.net/test/read.cgi/tech/1593949666/435
436: デフォルトの名無しさん [] 2020/07/29(水) 13:03:28.35 ID:yJ6wpcWu 変数にセット可能、引数として渡すことができる、戻り値にセットできる これが平置き三原則 http://mevius.5ch.net/test/read.cgi/tech/1593949666/436
437: デフォルトの名無しさん [] 2020/07/29(水) 13:06:58.34 ID:vCcy0xOf Javaはクラスに包んで間接的に置くしかない これが最大の欠陥 http://mevius.5ch.net/test/read.cgi/tech/1593949666/437
438: デフォルトの名無しさん [] 2020/07/29(水) 13:29:06.56 ID:Lu0VWFvI 単体でもなければ平置きでもなくて草生える http://mevius.5ch.net/test/read.cgi/tech/1593949666/438
439: デフォルトの名無しさん [sage] 2020/07/29(水) 13:34:14.86 ID:XTBRGYt/ 用語はともかくラムダ式のことだと分かってスッキリした http://mevius.5ch.net/test/read.cgi/tech/1593949666/439
440: デフォルトの名無しさん [sage] 2020/07/29(水) 16:49:02.49 ID:jnMYxU1A 二つ折りじゃないですか! http://mevius.5ch.net/test/read.cgi/tech/1593949666/440
441: デフォルトの名無しさん [sage] 2020/07/29(水) 18:21:34.93 ID:TpnjQV/H 第一級函数のことかと思ったよ俺は 馬鹿は1つしかモノを知らないから適当に言っても1つの意味にしかならないが他人はお前よりモノを知ってるから第一級函数なのかラムダ式なのかそれとも自分が知らない別の概念なのか判断できないんだよ http://mevius.5ch.net/test/read.cgi/tech/1593949666/441
442: デフォルトの名無しさん [sage] 2020/07/29(水) 18:32:59.18 ID:T5TGNuPi 結局単にラムダ式のことを言おうとしてたん? それだけのことをなぜ平置きとか言い出しちゃったのかなw 見苦しいからもうこれ以上レスいらんぞ http://mevius.5ch.net/test/read.cgi/tech/1593949666/442
443: デフォルトの名無しさん [] 2020/07/29(水) 18:34:25.78 ID:yJ6wpcWu 平置き式のこと? http://mevius.5ch.net/test/read.cgi/tech/1593949666/443
444: デフォルトの名無しさん [sage] 2020/07/29(水) 18:35:43.73 ID:jnMYxU1A 平置きとかメルカリ用語じゃねーのか http://mevius.5ch.net/test/read.cgi/tech/1593949666/444
445: デフォルトの名無しさん [] 2020/07/29(水) 18:40:24.30 ID:yJ6wpcWu 単体で置ける関数のことを単体関数と言い、それを平置きして式化したものが平置き式 ラムダ式なんて西洋かぶれのバズワードを使わなくても説明できるのができるプログラマ http://mevius.5ch.net/test/read.cgi/tech/1593949666/445
446: デフォルトの名無しさん [sage] 2020/07/29(水) 18:43:48.50 ID:T5TGNuPi 必死かコイツ http://mevius.5ch.net/test/read.cgi/tech/1593949666/446
447: デフォルトの名無しさん [sage] 2020/07/29(水) 18:59:31.61 ID:zMv38iUQ みーっけた! こうゆう関数併記するスタイルの事じゃないの? プログラミングのお題スレ Part18 http://itest.5ch.net/mevius/test/read.cgi/tech/1594702426/124 https://github.com/katahiromz/3D function add_line(x0, y0, z0, x1, y1, z1) { } function set_pos(x, y, z) { } function set_dir(dx, dy, dz) { } function walk(delta) { } function turn_dir(dx, dy, dz) { } function turn_angle(angle) { } function init() { } function koch(degree, step) { } function draw() { } function animate() { } http://mevius.5ch.net/test/read.cgi/tech/1593949666/447
448: デフォルトの名無しさん [sage] 2020/07/29(水) 19:19:06.70 ID:bUZt8h4Z それは関数を単体でおいただけ 平置きとは違う http://mevius.5ch.net/test/read.cgi/tech/1593949666/448
449: デフォルトの名無しさん [] 2020/07/29(水) 20:44:56.64 ID:f9ldngpW フォルダに平積みする事か? A.class B.class C.class D.class E.class http://mevius.5ch.net/test/read.cgi/tech/1593949666/449
450: デフォルトの名無しさん [sage] 2020/07/29(水) 20:48:45.31 ID:kq2jMqPx 本の平積みと同じ意味だよ 平にするって所を強調したいんだ http://mevius.5ch.net/test/read.cgi/tech/1593949666/450
451: デフォルトの名無しさん [] 2020/07/29(水) 23:30:32.60 ID:eNj62kDo ポリモーフィズムって押し付けなんだよね 汎用的な機能を提供する 与える引数だけが戻り値を決めるような 純粋な関数を1つくればDRYになっていいものを、 何らかの意図を持った特化した関数を 幾つも定義しなければならない 意味がわからない。 インスタンスには極力状態を持たせない方が 圧倒的にバグが少ない UI制御の状態ならGUI上だけで 本当に重要な状態ならDB上やセッションとかで 持つくらいで大体は事足りる クラスのフィールドなんてほとんど使わんよ 引数と戻り値 配列 連想配列をとことん突き詰めれば 大抵の事はなんでも出来る。 これが構造化プログラミング http://mevius.5ch.net/test/read.cgi/tech/1593949666/451
452: デフォルトの名無しさん [sage] 2020/07/29(水) 23:41:24.99 ID:JOuph4+C ttps://i.imgur.com/qRx3DMV.gif http://mevius.5ch.net/test/read.cgi/tech/1593949666/452
453: デフォルトの名無しさん [sage] 2020/07/30(木) 00:11:51.67 ID:3OVhn9K/ >>451 それが設計意図がキチンとドキュメントにまとまっていれば こうなったときに引数増やすしか無いかとかわかるんだけど だいたいドキュメント書かないバカがノリで作ったようなポリモだから 頭にくるんだよね 作ったやつのおバカなドヤ顔に拳をブチ込んでその場で正座させながらドキュメント書かせたい http://mevius.5ch.net/test/read.cgi/tech/1593949666/453
454: デフォルトの名無しさん [sage] 2020/07/30(木) 08:29:08.61 ID:aMAEXQwY >>451 単純にモジュール切り分けテクニックの一つなだけだよ。 変な切り分けすればそりゃ可読性悪くなるわ。 オブジェクト指向をいつでもすべしみたいな馬鹿が誤解をひろめたのがいかんだけで有用なテクニックの一つではある。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/454
455: デフォルトの名無しさん [] 2020/07/30(木) 10:11:39.63 ID:6431nXoC ドキュメントとセットでの運用なら、 それ自体では完結してない、つまりは欠陥品ってことでしょ ドキュメントの有無や書いた奴の頭の程度で決定したりはしない http://mevius.5ch.net/test/read.cgi/tech/1593949666/455
456: デフォルトの名無しさん [sage] 2020/07/30(木) 10:58:41.66 ID:P2gSGZs3 >>455 visualstudioがWordやExcelと連携してくれれば楽なのにね http://mevius.5ch.net/test/read.cgi/tech/1593949666/456
457: デフォルトの名無しさん [] 2020/07/30(木) 12:33:29.09 ID:6431nXoC コードそのものが「文芸的」になる必要がある http://mevius.5ch.net/test/read.cgi/tech/1593949666/457
458: デフォルトの名無しさん [sage] 2020/07/30(木) 13:15:44.34 ID:XKQCIMIB ソリューションエクスプローラーなんて芋っポイのやめてWordの項目一覧でいいよ そこの項目に対応したソースを記述すればいい http://mevius.5ch.net/test/read.cgi/tech/1593949666/458
459: デフォルトの名無しさん [] 2020/07/30(木) 13:21:46.37 ID:odFw/CMl ソリューションエクスプローラのCMakeターゲットビュー見てみろよ。 そんなこと言えなくなるだろ。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/459
460: デフォルトの名無しさん [sage] 2020/07/30(木) 13:24:30.25 ID:XKQCIMIB ドキュメント主導型にして欲しい http://mevius.5ch.net/test/read.cgi/tech/1593949666/460
461: デフォルトの名無しさん [] 2020/07/30(木) 13:28:55.06 ID:odFw/CMl それはちょっと違うかもしれないな。 プログラミング言語は自然言語と比較して非常に制約がきつく、それは機械が読めるほどだ。 自然言語で書くよりもプログラミング言語で書く方が誤解の余地が少ない優れた文書になるのではないか。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/461
462: デフォルトの名無しさん [] 2020/07/30(木) 14:36:27.17 ID:jRBN85oj data Status = Dead | Alive you == not Alive お前はもう死んでいる http://mevius.5ch.net/test/read.cgi/tech/1593949666/462
463: デフォルトの名無しさん [sage] 2020/07/31(金) 00:38:15.14 ID:91XEAcCM https://img.gifmagazine.net/gifmagazine/images/710205/original.gif http://mevius.5ch.net/test/read.cgi/tech/1593949666/463
464: デフォルトの名無しさん [sage] 2020/07/31(金) 00:57:13.70 ID:QZ7aSShZ http://imgcc.naver.jp/kaze/mission_anm/USER/20140905/93/994463/52/250x186x42178393ac27032c611b2149.gif http://mevius.5ch.net/test/read.cgi/tech/1593949666/464
465: デフォルトの名無しさん [sage] 2020/07/31(金) 01:01:24.69 ID:QZ7aSShZ http://imgcc.naver.jp/kaze/mission_anm/USER/20140905/93/994463/79/326x205x7ffb3f5b8763642d29df7d79.gif http://mevius.5ch.net/test/read.cgi/tech/1593949666/465
466: デフォルトの名無しさん [sage] 2020/07/31(金) 07:44:49.12 ID:0J+iX777 >>455 プログラムで表現しずらいものをドキュメントで補うんだよ。 SIerに提出するような糞アリバイドキュメントばっかりつくってると理解できないだろうけれど。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/466
467: デフォルトの名無しさん [] 2020/07/31(金) 09:46:54.45 ID:UpUkpE84 プライベートメソッドのドキュメントを作るんだろ? 欠陥品じゃん http://mevius.5ch.net/test/read.cgi/tech/1593949666/467
468: デフォルトの名無しさん [sage] 2020/07/31(金) 12:50:08.54 ID:0J+iX777 プライベートだろうとパブリックだろうと、構造がコードでわかりにくけりゃ作るよ。 そういう表面的なことでしか判断できないのは頭が悪い証拠だと思うよ。 http://mevius.5ch.net/test/read.cgi/tech/1593949666/468
469: デフォルトの名無しさん [] 2020/07/31(金) 13:53:02.12 ID:J/Hsbz2N 和田信者は頭が欠陥品 http://mevius.5ch.net/test/read.cgi/tech/1593949666/469
470: デフォルトの名無しさん [sage] 2020/07/31(金) 15:26:19.59 ID:+g+2reUI 要するに馬鹿にはプログラミングさせるなということだな 馬鹿が書くと変なものをprivateにしてしまって大混乱 プライベートメソッドをテストせざるを得なくなる http://mevius.5ch.net/test/read.cgi/tech/1593949666/470
471: デフォルトの名無しさん [] 2020/07/31(金) 20:54:13.68 ID:UpUkpE84 普通は表面的=形式的なモンで判断するんでしょこの業界 だって形式しかねーもん http://mevius.5ch.net/test/read.cgi/tech/1593949666/471
472: デフォルトの名無しさん [sage] 2020/08/01(土) 01:42:55.39 ID:JfG80/LC 構造図みたいなのはプログラム内には書けないから それは文章化しておくしかないから仕方がない http://mevius.5ch.net/test/read.cgi/tech/1593949666/472
473: デフォルトの名無しさん [sage] 2020/08/01(土) 13:40:53.00 ID:ZqZOxFea https://i.imgur.com/HrbzgM9.gif http://mevius.5ch.net/test/read.cgi/tech/1593949666/473
474: デフォルトの名無しさん [sage] 2020/08/03(月) 01:10:10.92 ID:WN+omvah https://i.imgur.com/qRx3DMV.gif http://mevius.5ch.net/test/read.cgi/tech/1593949666/474
475: デフォルトの名無しさん [] 2020/08/30(日) 15:04:18.01 ID:i3Iv6gG3 >>397 >相変わらずオブジェクト指向信じて >頑張ってるJavaプログラマさん達に >お伺いしたいんだけどさぁ ならば「チンポがシコシコする」という日本語表現は、文法的に正しいのか? チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。 オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、 全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体 が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。 例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。 違うか? 「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ! http://mevius.5ch.net/test/read.cgi/tech/1593949666/475
476: デフォルトの名無しさん [sage] 2020/11/16(月) 10:13:57.47 ID:PECNoX7v >>397 要するに君のスペックや君が手掛けてきたシステムは オブジェクト指向を検討する程のものじゃなかったし 今後もオブジェクト指向を検討するようなシステムに 君が係ることもなんだろうということは理解できた http://mevius.5ch.net/test/read.cgi/tech/1593949666/476
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s