■短い回答
プライベートをテストしたい場合は設計に問題があるので、パブリックに変更してテストしましょう
■これに対する(変な人の)驚いた反論
プライベートを一時的にパブリックにして、テストが終わったら
プライベートに戻すなんてやるわけないだろw
↑誰もそんなコトしろなんて言ってない
■テスト専門家による回答
t-wadaのブログ
https://t-wada.hatenablog.jp/entry/should-we-test-private-methods
短くまとめると、プライベートなメソッドのテストを書く必要は 無い と考えています。
ほとんどのプライベートメソッドはパブリックメソッド経由でテストできるからです。
プライベートメソッドは実装の詳細であり、自動テストのターゲットとなる「外部から見た振る舞い」ではありません。
プライベートなメソッドのテストに関しては、4つの考え方があります。
・パブリックメソッド経由でテストする
・別クラスのパブリックメソッドとする
・テスト対象の可視性を(やや)上げる
・プライベートのまま、リフレクションでアクセスしてテストを書く
パブリックメソッド経由でテストする
多くの場合、そのクラスのパブリックメソッド経由でプライベートメソッドのテストも同時に行えます。テストできているか不安があるならテストカバレッジを確認しましょう。
別クラスのパブリックメソッドとする
プライベートなメソッドのテストを書きたいということは、実はテスト対象の責務が多すぎることを示唆している場合があります。
テストがどうしても書きたい場合は、その責務はテスト対象のプライベートな振る舞いではなく、他の誰かのパブリックな振る舞いなのでしょう。
探検
カプセル化■プライベートメソッドをテストする方法
■ このスレッドは過去ログ倉庫に格納されています
2020/07/05(日) 20:47:46.60ID:M+BkbwUs
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 他人と議論をしようと言う時に文脈でしかわからない言葉を使うな無能が
422デフォルトの名無しさん
2020/07/29(水) 11:23:16.72ID:yJ6wpcWu >>421
文脈がわからない人間が議論に参加するべきではないと思うの
他人の言葉には寛容に、自分の言葉は厳密にが会話の基本
議論は会話の積み重ねなんだから会話の基本ができない人間は議論ができない人
他人の言葉に厳しい態度とっても良いことなんて無いよ
文脈がわからない人間が議論に参加するべきではないと思うの
他人の言葉には寛容に、自分の言葉は厳密にが会話の基本
議論は会話の積み重ねなんだから会話の基本ができない人間は議論ができない人
他人の言葉に厳しい態度とっても良いことなんて無いよ
423デフォルトの名無しさん
2020/07/29(水) 11:26:28.92ID:yJ6wpcWu プログラムでもそうだよね
メソッドを宣言するときは引数はできるだけ広い型
戻り値はできるだけ狭い型
にすることで他のオブジェクトと協調しやすいプログラムができる
なんでもかんでもインターフェイス使おうとするJavaの習慣は誠に遺憾
メソッドを宣言するときは引数はできるだけ広い型
戻り値はできるだけ狭い型
にすることで他のオブジェクトと協調しやすいプログラムができる
なんでもかんでもインターフェイス使おうとするJavaの習慣は誠に遺憾
424デフォルトの名無しさん
2020/07/29(水) 11:27:35.62ID:yJ6wpcWu 他人には厳しいみなさん
425デフォルトの名無しさん
2020/07/29(水) 11:33:51.35ID:2AXsdL6T 自分の説明能力の無さを相手が低脳だからと責任転嫁するヤシ
426デフォルトの名無しさん
2020/07/29(水) 11:36:20.63ID:yJ6wpcWu 我々人間もメソッドなのかも知れませんね
427デフォルトの名無しさん
2020/07/29(水) 11:38:34.39ID:10XNhQ52428デフォルトの名無しさん
2020/07/29(水) 11:38:43.76ID:yJ6wpcWu 自分の理解能力の無さを相手が無能だからと責任転嫁するココナツ
429デフォルトの名無しさん
2020/07/29(水) 11:39:49.67ID:yJ6wpcWu430デフォルトの名無しさん
2020/07/29(水) 11:41:33.11ID:1IRv8wde で、結局のところ
Javaで「単体で平置きできる関数」って何なの?
コードで示してくれるといいんだか
Javaで「単体で平置きできる関数」って何なの?
コードで示してくれるといいんだか
431デフォルトの名無しさん
2020/07/29(水) 11:42:06.25ID:yJ6wpcWu >>430
() -> "coconut"
() -> "coconut"
432デフォルトの名無しさん
2020/07/29(水) 11:43:59.64ID:Lu0VWFvI >>431
んん? それどこに置いてるの?
んん? それどこに置いてるの?
433デフォルトの名無しさん
2020/07/29(水) 11:54:07.92ID:10XNhQ52434デフォルトの名無しさん
2020/07/29(水) 12:47:42.81ID:yJ6wpcWu >>432
どこだと思う?
どこだと思う?
435デフォルトの名無しさん
2020/07/29(水) 13:01:46.48ID:yJ6wpcWu 無限ココナツ
Stream.generate(() -> "coconut").forEach(System.out::println);
Stream.generate(() -> "coconut").forEach(System.out::println);
436デフォルトの名無しさん
2020/07/29(水) 13:03:28.35ID:yJ6wpcWu 変数にセット可能、引数として渡すことができる、戻り値にセットできる
これが平置き三原則
これが平置き三原則
437デフォルトの名無しさん
2020/07/29(水) 13:06:58.34ID:vCcy0xOf Javaはクラスに包んで間接的に置くしかない
これが最大の欠陥
これが最大の欠陥
438デフォルトの名無しさん
2020/07/29(水) 13:29:06.56ID:Lu0VWFvI 単体でもなければ平置きでもなくて草生える
439デフォルトの名無しさん
2020/07/29(水) 13:34:14.86ID:XTBRGYt/ 用語はともかくラムダ式のことだと分かってスッキリした
440デフォルトの名無しさん
2020/07/29(水) 16:49:02.49ID:jnMYxU1A 二つ折りじゃないですか!
441デフォルトの名無しさん
2020/07/29(水) 18:21:34.93ID:TpnjQV/H 第一級函数のことかと思ったよ俺は
馬鹿は1つしかモノを知らないから適当に言っても1つの意味にしかならないが他人はお前よりモノを知ってるから第一級函数なのかラムダ式なのかそれとも自分が知らない別の概念なのか判断できないんだよ
馬鹿は1つしかモノを知らないから適当に言っても1つの意味にしかならないが他人はお前よりモノを知ってるから第一級函数なのかラムダ式なのかそれとも自分が知らない別の概念なのか判断できないんだよ
442デフォルトの名無しさん
2020/07/29(水) 18:32:59.18ID:T5TGNuPi 結局単にラムダ式のことを言おうとしてたん?
それだけのことをなぜ平置きとか言い出しちゃったのかなw
見苦しいからもうこれ以上レスいらんぞ
それだけのことをなぜ平置きとか言い出しちゃったのかなw
見苦しいからもうこれ以上レスいらんぞ
443デフォルトの名無しさん
2020/07/29(水) 18:34:25.78ID:yJ6wpcWu 平置き式のこと?
444デフォルトの名無しさん
2020/07/29(水) 18:35:43.73ID:jnMYxU1A 平置きとかメルカリ用語じゃねーのか
445デフォルトの名無しさん
2020/07/29(水) 18:40:24.30ID:yJ6wpcWu 単体で置ける関数のことを単体関数と言い、それを平置きして式化したものが平置き式
ラムダ式なんて西洋かぶれのバズワードを使わなくても説明できるのができるプログラマ
ラムダ式なんて西洋かぶれのバズワードを使わなくても説明できるのができるプログラマ
446デフォルトの名無しさん
2020/07/29(水) 18:43:48.50ID:T5TGNuPi 必死かコイツ
447デフォルトの名無しさん
2020/07/29(水) 18:59:31.61ID: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() {
}
こうゆう関数併記するスタイルの事じゃないの?
プログラミングのお題スレ 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() {
}
448デフォルトの名無しさん
2020/07/29(水) 19:19:06.70ID:bUZt8h4Z それは関数を単体でおいただけ
平置きとは違う
平置きとは違う
449デフォルトの名無しさん
2020/07/29(水) 20:44:56.64ID:f9ldngpW フォルダに平積みする事か?
A.class
B.class
C.class
D.class
E.class
A.class
B.class
C.class
D.class
E.class
450デフォルトの名無しさん
2020/07/29(水) 20:48:45.31ID:kq2jMqPx 本の平積みと同じ意味だよ
平にするって所を強調したいんだ
平にするって所を強調したいんだ
451デフォルトの名無しさん
2020/07/29(水) 23:30:32.60ID:eNj62kDo ポリモーフィズムって押し付けなんだよね
汎用的な機能を提供する
与える引数だけが戻り値を決めるような
純粋な関数を1つくればDRYになっていいものを、
何らかの意図を持った特化した関数を
幾つも定義しなければならない
意味がわからない。
インスタンスには極力状態を持たせない方が
圧倒的にバグが少ない
UI制御の状態ならGUI上だけで
本当に重要な状態ならDB上やセッションとかで
持つくらいで大体は事足りる
クラスのフィールドなんてほとんど使わんよ
引数と戻り値
配列 連想配列をとことん突き詰めれば
大抵の事はなんでも出来る。
これが構造化プログラミング
汎用的な機能を提供する
与える引数だけが戻り値を決めるような
純粋な関数を1つくればDRYになっていいものを、
何らかの意図を持った特化した関数を
幾つも定義しなければならない
意味がわからない。
インスタンスには極力状態を持たせない方が
圧倒的にバグが少ない
UI制御の状態ならGUI上だけで
本当に重要な状態ならDB上やセッションとかで
持つくらいで大体は事足りる
クラスのフィールドなんてほとんど使わんよ
引数と戻り値
配列 連想配列をとことん突き詰めれば
大抵の事はなんでも出来る。
これが構造化プログラミング
452デフォルトの名無しさん
2020/07/29(水) 23:41:24.99ID:JOuph4+C ttps://i.imgur.com/qRx3DMV.gif
453デフォルトの名無しさん
2020/07/30(木) 00:11:51.67ID:3OVhn9K/ >>451
それが設計意図がキチンとドキュメントにまとまっていれば
こうなったときに引数増やすしか無いかとかわかるんだけど
だいたいドキュメント書かないバカがノリで作ったようなポリモだから
頭にくるんだよね
作ったやつのおバカなドヤ顔に拳をブチ込んでその場で正座させながらドキュメント書かせたい
それが設計意図がキチンとドキュメントにまとまっていれば
こうなったときに引数増やすしか無いかとかわかるんだけど
だいたいドキュメント書かないバカがノリで作ったようなポリモだから
頭にくるんだよね
作ったやつのおバカなドヤ顔に拳をブチ込んでその場で正座させながらドキュメント書かせたい
454デフォルトの名無しさん
2020/07/30(木) 08:29:08.61ID:aMAEXQwY >>451
単純にモジュール切り分けテクニックの一つなだけだよ。
変な切り分けすればそりゃ可読性悪くなるわ。
オブジェクト指向をいつでもすべしみたいな馬鹿が誤解をひろめたのがいかんだけで有用なテクニックの一つではある。
単純にモジュール切り分けテクニックの一つなだけだよ。
変な切り分けすればそりゃ可読性悪くなるわ。
オブジェクト指向をいつでもすべしみたいな馬鹿が誤解をひろめたのがいかんだけで有用なテクニックの一つではある。
455デフォルトの名無しさん
2020/07/30(木) 10:11:39.63ID:6431nXoC ドキュメントとセットでの運用なら、
それ自体では完結してない、つまりは欠陥品ってことでしょ
ドキュメントの有無や書いた奴の頭の程度で決定したりはしない
それ自体では完結してない、つまりは欠陥品ってことでしょ
ドキュメントの有無や書いた奴の頭の程度で決定したりはしない
456デフォルトの名無しさん
2020/07/30(木) 10:58:41.66ID:P2gSGZs3 >>455
visualstudioがWordやExcelと連携してくれれば楽なのにね
visualstudioがWordやExcelと連携してくれれば楽なのにね
457デフォルトの名無しさん
2020/07/30(木) 12:33:29.09ID:6431nXoC コードそのものが「文芸的」になる必要がある
458デフォルトの名無しさん
2020/07/30(木) 13:15:44.34ID:XKQCIMIB ソリューションエクスプローラーなんて芋っポイのやめてWordの項目一覧でいいよ
そこの項目に対応したソースを記述すればいい
そこの項目に対応したソースを記述すればいい
459デフォルトの名無しさん
2020/07/30(木) 13:21:46.37ID:odFw/CMl ソリューションエクスプローラのCMakeターゲットビュー見てみろよ。
そんなこと言えなくなるだろ。
そんなこと言えなくなるだろ。
460デフォルトの名無しさん
2020/07/30(木) 13:24:30.25ID:XKQCIMIB ドキュメント主導型にして欲しい
461デフォルトの名無しさん
2020/07/30(木) 13:28:55.06ID:odFw/CMl それはちょっと違うかもしれないな。
プログラミング言語は自然言語と比較して非常に制約がきつく、それは機械が読めるほどだ。
自然言語で書くよりもプログラミング言語で書く方が誤解の余地が少ない優れた文書になるのではないか。
プログラミング言語は自然言語と比較して非常に制約がきつく、それは機械が読めるほどだ。
自然言語で書くよりもプログラミング言語で書く方が誤解の余地が少ない優れた文書になるのではないか。
462デフォルトの名無しさん
2020/07/30(木) 14:36:27.17ID:jRBN85oj data Status = Dead | Alive
you == not Alive
お前はもう死んでいる
you == not Alive
お前はもう死んでいる
463デフォルトの名無しさん
2020/07/31(金) 00:38:15.14ID:91XEAcCM464デフォルトの名無しさん
2020/07/31(金) 00:57:13.70ID:QZ7aSShZ465デフォルトの名無しさん
2020/07/31(金) 01:01:24.69ID:QZ7aSShZ466デフォルトの名無しさん
2020/07/31(金) 07:44:49.12ID:0J+iX777■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪 ★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- カカロット、腰痛い
- 【!?】高市早苗「靖国神社電撃参拝プラン」浮上!これもう戦争だろ… [481941988]
- 【超悲報】中国への武力行使、世論調査で「賛成」「どちらかといえば賛成」48.8% 「反対」「どちらかといえば反対」の44.2%を上回る [314039747]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
