カプセル化■プライベートメソッドをテストする方法at TECH
カプセル化■プライベートメソッドをテストする方法 - 暇つぶし2ch262:デフォルトの名無しさん
20/07/11 11:26:21 fJlL8BSP.net
>>257
> テストは同じパッケージにするのが基本だろ

Java以外で、同じパッケージとはなんのことで
そうするとどうなるんですか?

263:デフォルトの名無しさん
20/07/11 11:27:14 JFnadz6+.net
>>260
外部からアクセスしないけれども仕様がはっきりしてるからpublicにするのはありえないってことですよ
なぜならば密結合になってしまうから

264:デフォルトの名無しさん
20/07/11 11:27:56 fJlL8BSP.net
>>261
privateをテストできる言語っていうのは
単に全てpublicになっているのと一緒

アンダースコアで、これはアクセスできるけど
privateという意味ですよと言ってるのと何も変わらないよ

265:デフォルトの名無しさん
20/07/11 11:28:00 JFnadz6+.net
>>262
Javaの話ですよ

266:デフォルトの名無しさん
20/07/11 11:28:48 JFnadz6+.net
>>264
アンダースコア?
そうなの? 全部の言語がそんな仕様なの?
それは知らなかったなー

267:デフォルトの名無しさん
20/07/11 11:29:55 fJlL8BSP.net
>>263
仕様がはっきりしてるからpublicにするんじゃなくて
仕様をはっきりさせれば、publicにしてもよいと言ってるだけ
理由がなければprivateのままでもいい。どちらでもいい。
テストしたい=理由。理由があるならpublicにしていい。

> なぜならば密結合になってしまうから
テストコードから仕様がはっきりしないprivateをテストすること=密結合
密結合を避けるためにも、公開されたインターフェースにするのが正しい

268:デフォルトの名無しさん
20/07/11 11:30:13 JFnadz6+.net
RustやGoはprivateもテストできるよって言ってる人いたから
最近の言語ではprivateもテストできるんだーって思ってたけど
命名規則でアクセス修飾子の代わりを果たしてるんだってことだったの? それは知らなかったなー

269:デフォルトの名無しさん
20/07/11 11:30:22 fJlL8BSP.net
>>265
Java以外を知らないんですか

>>266
Java以外を知らいんですかw

270:デフォルトの名無しさん
20/07/11 11:30:59.34 fJlL8BSP.net
>>268
ああ、人から聞いただけなのねw

271:デフォルトの名無しさん
20/07/11 11:31:27.48 JFnadz6+.net
>>267
仕様がはっきりしててもpublicにしてはいけないからprivateなんだよ
テストが依存することを密結合とは言わないよ

272:デフォルトの名無しさん
20/07/11 11:31:51.16 JFnadz6+.net
>>269
知らないよ
>>270
そうだよ

273:デフォルトの名無しさん
20/07/11 11:32:06.66 fJlL8BSP.net
privateにあくせすできる言語でも
テストするならどちらにしろ仕様をはっきりさせないといけない
そうしないとテストコードがあったからといって
これが正しく仕様を満たしているのか?なんてわからない

274:デフォルトの名無しさん
20/07/11 11:35:07 JFnadz6+.net
さすがです >>3 の下痢便コード書くだけありますね
何言ってるのかさっぱりわからない

275:デフォルトの名無しさん
20/07/11 11:36:54 fJlL8BSP.net
>>3のコードを書いたのは別の人。

そもそも>>3のコードをクソコードと言って
このスレにコピペしたのが俺

276:デフォルトの名無しさん
20/07/11 11:38:14 JFnadz6+.net
>>275
そうすると君はMainを勘違いしてた人か、僕と仲直りしますか?

277:デフォルトの名無しさん
20/07/11 11:39:33 JFnadz6+.net
同じ人が同じこと言ってるだけのスレ
でもそんなスレも良いですよね

278:デフォルトの名無しさん
20/07/11 11:47:13.10 JFnadz6+.net
たとえばこの先Javaが進化したとしてテストオブジェクトのみを特別視して
テストオブジェクトからのみprivateにアクセスできるようになったとすると
テストオブジェクトをオブジェクト指向の枠組みで捉えるならば
オブジェクト指向としては破綻してる
Javaは受け入れないだろうね、Microsoftがdelegateを提案したときも
interfaceという仕組みがあるんだからdelegateは邪道だと言って蹴ったからなあ
実益に叶うという理由で根本的なところまで作り変えることができるのは
Microsoftだろうなあ、Javaの前にC#が対応しそうな予感はある

279:デフォルトの名無しさん
20/07/11 11:52:27.04 JFnadz6+.net
いまの言語仕様での最適解は >>5 ですね
これ書いた人は天才だと思いますよ
何気ないことだけれどもコードの隅々にまで神経が行き届いていて
美しく整備されて堅牢なコードです、オブジェクト指向の限界を示したと言って良いですね

280:デフォルトの名無しさん
20/07/11 11:55:21.12 0/l6dmQ+.net
>>248
逆転の発想じゃなくて都合のいいことを信じたい馬鹿の発想だろ

281:デフォルトの名無しさん
20/07/11 12:00:30.64 Cl4N6Aux.net
テストコードは設計の外にあるものだからクラスの可視性とか直接関係ないだろ。
ふつう、設計書のクラス図にテストクラスを書いたりはしない。

282:デフォルトの名無しさん
20/07/11 12:02:06.50 wIsoNFzM.net
書いてもいいかなとは思う

283:デフォルトの名無しさん
20/07/11 12:06:30.88 JFnadz6+.net
>>281
そうなんだよねー

284:デフォルトの名無しさん
20/07/11 12:09:38.93 fJlL8BSP.net
>>281
クラス図にprivateメソッドを書きますか?

285:デフォルトの名無しさん
20/07/11 12:11:12.25 JFnadz6+.net
クラス内を調査してprivateメソッドを列挙して
同クラス内のprivateメソッドをテストするコードを列挙して
カバレッジを計測するツールがあればみんな幸せになれそうですね
カバレッジ計測ツールがprivateメソッドには今の時点で対応してないって
だけでprivateメソッドのテスト自体は >>5 のように書けますから
ツールの開発が遅れてるだけなのかも知れませんね

286:デフォルトの名無しさん
20/07/11 12:12:35 fJlL8BSP.net
>>285
もしかしてお前カバレッジの意味がわかってないんじゃね?

publicメソッドの中からprivateメソッドが呼び出された時
privateメソッドの行は実行された=カバレッジとして計測される

ってことは知ってますよね?

287:デフォルトの名無しさん
20/07/11 12:15:06 fJlL8BSP.net
世の中にある全てのカバレッジ計測ツールは
privateメソッド内の実行した行を測定できるのですが
>>285を見る限り何もわかってない気がしますねw

288:デフォルトの名無しさん
20/07/11 12:15:29 JFnadz6+.net
>>286
僕は単体テストやったこと無い
カバレッジの計測もしたことないからわからない
僕は知りません

289:デフォルトの名無しさん
20/07/11 12:16:06 fJlL8BSP.net
>>288
だから>>285みたいな的はずれなことを言ってるんだねw

290:デフォルトの名無しさん
20/07/11 12:17:45 JFnadz6+.net
>>289
それにはちょっと異論があるんだけれども、今回は僕が折れましょう
僕と仲直りしますか?

291:デフォルトの名無しさん
20/07/11 12:18:51 fJlL8BSP.net
>>290
でもおまえ単体テストしたこと無いし
カバレッジの計測もしたことがないから
何も理解してないじゃん(笑)
問題はそこだよね。

292:デフォルトの名無しさん
20/07/11 12:19:25 Cl4N6Aux.net
>>284
開発の段階によって違うんじゃね?最終的な設計ドキュメントには書いてるかな。

293:デフォルトの名無しさん
20/07/11 12:19:47 JFnadz6+.net
>>291
問題はそこじゃないです、君は僕と仲直りますかということが問題です

294:デフォルトの名無しさん
20/07/11 12:22:20 JFnadz6+.net
僕はいままで手作業による結合テストだけで生き抜いてきた生粋のブラックボックスマンです
なぜそれが可能だったかというと簡単なプログラムしか書いたことがなかったからです
しかし、最近複雑なプログラムを書く機会があり結合テストだけでは不十分であることを実感しました
以上、僕の近況報告です

295:デフォルトの名無しさん
20/07/11 12:23:49.29 JFnadz6+.net
僕は単体テスト書いたことありますよ >>5 で書きました
カバレッジは計測したことないですけどそれは重要ではありません

296:デフォルトの名無しさん
20/07/11 12:27:04.12 fJlL8BSP.net
>>293
しません

297:デフォルトの名無しさん
20/07/11 12:27:47.72 fJlL8BSP.net
>>292
最終的な設計ドキュメントはコードから生成するものだからね
クラス図にprivateメソッドが書かれていて嬉しいのでしょうかどうなのでしょうか?

298:デフォルトの名無しさん
20/07/11 12:28:33.49 fJlL8BSP.net
> 最終的な設計ドキュメントはコードから生成するものだからね
クラス図の話ね。クラス図は(唯一?)コードから生成できる。

299:デフォルトの名無しさん
20/07/11 12:29:05.33 JFnadz6+.net
>>296
(´・ω・`)

300:デフォルトの名無しさん
20/07/11 12:31:00.81 fJlL8BSP.net
正直、詳細なクラス図は、設計図の中で一番不要だと思ってる。
必要なのはソースコードと完全に一致してるクラス図ではなく
クラス概要図・関連図とでも言うべきだろう
主要なメソッドとそれぞれのクラス関係がわかればいい
目的はなにかを考えればその結論にたどり着くはず

301:デフォルトの名無しさん
20/07/11 12:37:31.52 Cl4N6Aux.net
>>297
保守する人にとってはあった方がいいと思ってる。

302:デフォルトの名無しさん
20/07/11 12:45:10.61 JFnadz6+.net
単体テストという言葉の曖昧さがpublic派か、private派かの分裂の原因です
publicメソッドはオブジェクトのインターフェイスなので
publicメソッドをテストすることをインターフェイステストというべきです
オブジェクト指向で、インターフェイスが関わるのはオブジェクトのコラボレーションが行われるときです
一方でprivateメソッドはpublicメソッドが作られるのと同じか、もしくはそれ以前に作られます
publicメソッドが正しく動作することの前提としてprivateメソッドが正しく動作することがあるので
privateメソッドをテストすることをインプリメンテーションテストという言うべきです
privateメソッドを使用するのは同じオブジェクト内のメソッドなので、オブジェクトのコラボレーションとは直接の関係がありません
単体テストと言っても対象のメソッドによって、テストが必要な時期が異なるわけです
privateのテストはクラスが作られる前に行われますし、publicのテストがクラスは作られた後に行われます
あとはコストの話です、結合テストがすべて通るなら単体テストは必要ありませんし本番稼働がすべてうまくいくならテスト自体必要ありません
後の工程で発覚するほど手戻りが大きくなりコストが膨らむので段階を追ってテストしていきましょうというのが基本的な考え方です
privateのテストをすることによってpublicのテストの手戻りが少なくなることはあるんです
privateのテストはやったほうが良いです。

303:デフォルトの名無しさん
20/07/11 12:45:36.89 fJlL8BSP.net
>>301
保守する時はコードから生成できるので完璧なのはいらない
だから本当に必要なのはクラス概要図だろう
図としてみたい場合、メソッドすべてがずらずら書かれていても邪魔なだけ
ましてやprivateなんていらない。
図としてみたい場合、本当に見たいのは関連だろう?

304:デフォルトの名無しさん
20/07/11 12:46:11.05 fJlL8BSP.net
>>302
> 単体テストという言葉の曖昧さが
それ以前に、おまえ単体テストしたこと無いし
カバレッジの計測もしたことがないから
何も理解してないじゃん(笑)
問題はそこだよね。

305:デフォルトの名無しさん
20/07/11 12:46:51.38 JFnadz6+.net
頑張って書いた、これはもう論文と言って良いのでは
僕はプログラミングのテストについて博士号もらっても良いのでは
少なくともこのスレではテストに一番詳しい

306:デフォルトの名無しさん
20/07/11 12:48:09.47 JFnadz6+.net
>>304
僕は >>5 で単体テスト書きましたよ
君はカバレッジ計測ツールを使用して理解した気になってるだけのアホです

307:デフォルトの名無しさん
20/07/11 12:48:53.15 JFnadz6+.net
僕はツールを使ったことはないけど、頭を使うからね

308:デフォルトの名無しさん
20/07/11 12:50:19.54 fJlL8BSP.net
288 返信:デフォルトの名無しさん[] 投稿日:2020/07/11(土) 12:15:29.92 ID:JFnadz6+ [26/35]
>>286
僕は単体テストやったこと無い
カバレッジの計測もしたことないからわからない
僕は知りません

309:デフォルトの名無しさん
20/07/11 12:51:19.09 JFnadz6+.net
>>308
>>5 では書きましたよ

310:デフォルトの名無しさん
20/07/11 12:53:21.76 JFnadz6+.net
君はレトリックな部分に引きづられる傾向があるから
もう少し客観的に遠目でものを見るようにしたが良いかも

311:デフォルトの名無しさん
20/07/11 13:02:59 JFnadz6+.net
僕はJavaしか知らないと言ったけどC#に関するあっと言わせるような知識と考察を垣間見せたでしょ
僕の知性あふれる想像力は君の経験を凌駕する
ツールに習熟して使いこなすのも大事だけど、頭を使って状況を分析して打開する力も大事
僕は後者の方が優れている、君と僕が手を組めば最強になれる
僕と仲直りしてくれますか?

312:デフォルトの名無しさん
20/07/11 14:58:15.05 0BF0aQZE.net
TDD信奉者がprivateメソッドのテストは必要ないと主張するのは当たり前
TDDは一般的にpublicメソッドを最小”ユニット”として書き始めるから
privateメソッドが作られるのはテストが通る状態を維持したままリファクタリングして
一部をprivateメソッドに抽出した場合だけ
だからprivateメソッドのテストを書く必要がない
privateメソッドじゃなくHelperクラスのpublicメソッド等に抽出した場合も同じ
HelperクラスをpublicなAPIとして公開するのでなければ別途テストを追加する必要は基本的にない

313:デフォルトの名無しさん
20/07/11 15:11:26.01 KCR4lRFo.net
和田メソッドよろしく!

314:デフォルトの名無しさん
20/07/11 15:36:11.13 JFnadz6+.net
>>312
なるほどね

315:デフォルトの名無しさん
20/07/11 15:55:06.50 fJlL8BSP.net
和田さんの話にも飽きたので、レガシーコード改善ガイドという本の話でもしようか?
URLリンク(bmf-tech.com)
・クラスのメソッドがprivateだったとき
  ・publicメソッドを通じたテストが可能か検討する
    ・publicメソッドを通じたテストを行うことで実際のコードと同じ方法によるテストが保証できる
  ・上記が可能でない場合
    ・そのprivateメソッドはpublicにすべき
      ・大抵の場合はそのクラスが多くのことをやりすぎている、再設計が必要であることを意味している
・privateメソッドをpublicメソッドにすることについて悩む点
  ・メソッドが単なるユーティリティで、呼び出し側が気にかけるものでない
    →そのメソッドを別クラスに移せないか検討する
    →クラスのインターフェースに余分なpublicメソッドがあることは許容可能
  ・呼び出し側がそのメソッドを直接使った場合、そのクラスの他のメソッドの結果に悪影響を及ぼす可能性がある
    →そのメソッドを別クラスに移し、移動先のクラスでpublicにする
・良い設計とはテストが可能であり、悪い設計はテストが不可能
まあ言ってることはほとんど同じなんだけどなw

316:デフォルトの名無しさん
20/07/11 15:56:52.92 fJlL8BSP.net
URLリンク(maku.blog)
第10章 このメソッドをテストハーネスで動かすことができません
テストしたいメソッドが private である
・private メソッドをテストしたい場合、そのメソッドは public にすべきである。
・public メソッドにすべきかどうかで悩んでしまう場合、大抵は、そのクラスが多くのことを行いすぎであり、
修正すべきことを意味している(1つのクラスが複数の責務を持ってしまっている)。
・よい設計はテスト可能であり、テスト可能でない設計は悪い設計である。

・この方法は、メソッドを単純に public 化するのと本質的には変わらないので微妙な対応方法だが、リファクタリングすべき箇所の目印となる。
・Java などの言語ではリフレクションによって private メソッドのテストを記述することはできるが、
根本的な依存関係の問題を先延ばしにしているだけである。その種のごまかしをすると、
コードがどの程度悪くなっているのかに気付きにくくなってしまう。

317:デフォルトの名無しさん
20/07/11 17:36:03.50 KCR4lRFo.net
北朝鮮行ったことあるか?
日本の町並みには看板があるだろ?
「パナソニック」とか「コカ・コーラ」とかだよな。
北朝鮮でこれに該当するのはスローガンの看板だから。
社名や商品名の看板は一切ない。
「ウリナラをキノコの国にしよう!」←裏の意味は無くそのままの意味らしい。
「苦難の行軍!」
「白頭の革命精神!」
和田メソッドに通じるものがあるよな。

318:デフォルトの名無しさん
20/07/11 18:36:13.70 fJlL8BSP.net
>>317
他のスレで書いたけど「例え」は物事をわかりやすく説明するために使うもの
何かを批判するために「例え」を使うのは悪手。なぜなら
「例え」で批判してるのは「例え」に使ったものだから
お前が批判してるのは北朝鮮であって
和田さんや「レガシーコード改善ガイド」の
ベストプラクティスの批判にはなっていない

319:デフォルトの名無しさん
20/07/11 18:45:30.42 KCR4lRFo.net
和田メソッドは時代遅れの遺物。

320:デフォルトの名無しさん
20/07/11 18:47:40.49 KCR4lRFo.net
t-wada氏がお勧めする和田メソッド。

321:デフォルトの名無しさん
20/07/11 19:20:51 JFnadz6+.net
話をしようかと言い、本の内容をコピペしただけとかゲンナリするよね
たとえ批判されても自分が言ったわけじゃないから問題ないわけですね
スネ夫メソッドと名付けましょう

322:デフォルトの名無しさん
20/07/11 19:23:09 JFnadz6+.net
本に書いてあることを自分なりに実践してみた結果大失敗して
和田メソッドは役に立たなかったとかそういう話が聞きたい

323:デフォルトの名無しさん
20/07/11 19:30:25 fJlL8BSP.net
実践した結果コードがきれいになり
テストがしやすくなったよ

324:デフォルトの名無しさん
20/07/11 19:35:57 JFnadz6+.net
>>323
さようか

325:デフォルトの名無しさん
20/07/11 19:37:32 JFnadz6+.net
車の運転がうまい人は車の危険性を知ってる人
和田メソッドを熟知した人なら和田メソッドの危険性を知ってると思うのだよ
和田メソッドの限界はどこにあるのだろうね
TDDが向かないプログラムもあるとは本に書いてあるけど
それが具体的にどういう状況か、どういうプログラムかは示されないからよくわからない
僕はTDDの限界はpublicを前提とするところにあるのじゃないかと漠然と思ってる
まだぼんやりとして言語化できる段階にない

326:デフォルトの名無しさん
20/07/11 20:23:20.20 JFnadz6+.net
ググってみたけどTDDに否定的な考え方は世界的にあるみたいね

327:デフォルトの名無しさん
20/07/11 20:58:34.53 KCR4lRFo.net
TDDはともかく、和田メソッドはダメでしょう。

328:デフォルトの名無しさん
20/07/11 21:57:47.69 fJlL8BSP.net
まるで○○は危険でしょうと言うだけで
何が危険かわかってない人のような言い方だなw

329:デフォルトの名無しさん
20/07/11 21:59:07.66 fJlL8BSP.net
>>325
> まだぼんやりとして言語化できる段階にない
当たり前

288 返信:デフォルトの名無しさん[] 投稿日:2020/07/11(土) 12:15:29.92 ID:JFnadz6+ [26/44]
>>286
僕は単体テストやったこと無い
カバレッジの計測もしたことないからわからない
僕は知りません

330:デフォルトの名無しさん
20/07/11 22:03:47.24 fJlL8BSP.net
>>327
ではTDDの場合どうなのか?
Private Methods, Test Driven Development, and Good Design
URLリンク(www.infoq.com)
> Why to test private method? Most of TDDers would answer instantly: don’t do it.
プライベートのテストをする理由?
ほとんどのTDDersはこう答える。「するな」
和田メソッド(笑)が言っていることとTDDは完全に一致してるな
まあ実際にはTDDが最初にあって和田さんは
それに同意して、TDDの話をしてるんだから当然なんだが

331:デフォルトの名無しさん
20/07/11 22:04:46.73 fJlL8BSP.net
How to unit test private methods in BDD / TDD?
URLリンク(stackoverflow.com)

332:デフォルトの名無しさん
20/07/11 22:05:21.04 fJlL8BSP.net
Don’t Test Private Methods
URLリンク(dzone.com)

333:デフォルトの名無しさん
20/07/11 22:28:49.46 JFnadz6+.net
>>329
僕は頭を使うことによって君の経験はすでに超越してるよ
君はただツールを使ったことがあるってだけのただのアホ

334:デフォルトの名無しさん
20/07/11 22:31:24.19 JFnadz6+.net
> 実践した結果コードがきれいになり
> テストがしやすくなったよ
君の感想はこれだけ
あとは引用コピペを繰り返してるだけ
君の経験は浅すぎて僕の参考にならない

335:デフォルトの名無しさん
20/07/11 22:32:08.86 JFnadz6+.net
スネ夫の限界
僕は出来杉君

336:デフォルトの名無しさん
20/07/11 22:33:23.97 fJlL8BSP.net
>>334
でもお前の発言はなにもないじゃんw
壊れたレコードのように和田はだめ(理由なし)和田はだめ(理由なし)を
繰り返してるだけ。今度はTDDはだめっていうんですかね?w

337:デフォルトの名無しさん
20/07/11 22:37:09.78 JFnadz6+.net
>>336
僕は、和田はダメと一度も言ってない
僕のレスを全部読み直してみて
君は頭が働かないどころか勘が鈍い

338:デフォルトの名無しさん
20/07/11 22:39:35.32 wIsoNFzM.net
もう人のフンドシで相撲をとるのはやめろ

339:デフォルトの名無しさん
20/07/11 22:40:20.87 fJlL8BSP.net
>>337
まるで和田メソッド(TDDの常識的な手法)に
限界があるような言い方してるじゃんw
自分が何も知らないのに、限界があるんじゃないかという
疑いをかけるのはだめ。

340:デフォルトの名無しさん
20/07/11 22:42:56.22 JFnadz6+.net
世の中に銀の弾丸は無いからね
何事にも限界はあるでしょ、一般論だよ
IQ低い人はすぐ被害妄想いだくから面倒

341:デフォルトの名無しさん
20/07/11 22:43:21.62 JFnadz6+.net
もっと知性あふれる人と知的な会話をしたいなー

342:デフォルトの名無しさん
20/07/11 22:44:09.34 fJlL8BSP.net
>>340
一般論だからこそ、TDDの批判にはならないんだよ。

343:デフォルトの名無しさん
20/07/11 22:45:11.39 fJlL8BSP.net
つまり
「お前の意見に言いたいことがある。一般論として人はだれでも間違える(ドヤァ)」
といっても意見にたいして、何かを言ってることにはならないのと同じね。

344:デフォルトの名無しさん
20/07/11 22:45:14.99 JFnadz6+.net
ちなみに僕は常識に価値があるとも思ってない
京都大学では真実は少数派に宿るっていう言葉が使われてるよ

345:デフォルトの名無しさん
20/07/11 22:46:07.36 JFnadz6+.net
>>342
疑いをかけられたんだームキーって反応してる君がおかしいってこと

346:デフォルトの名無しさん
20/07/11 22:46:25.25 fJlL8BSP.net
>>344
じゃあ京都大学ではその言葉は多数派だから真実にはならないね(笑)

347:デフォルトの名無しさん
20/07/11 22:46:56.12 fJlL8BSP.net
>>345
だから「TDDには」疑いをかけられてないと言ってる。
お前は一般論を言っただけ

348:デフォルトの名無しさん
20/07/11 22:50:38.71 JFnadz6+.net
>>347
そうだよ、僕は一般論をいっただけ
一つ指摘しておくと君は日本語を使ってる
わかるかな、僕のこの高度な皮肉が

349:デフォルトの名無しさん
20/07/11 22:51:31.82 fJlL8BSP.net
>>348
皮肉かどうかはどうでもいいな
少なくともお前はバカだということ
議論してるふりをしてるだけ

350:デフォルトの名無しさん
20/07/11 22:52:25.23 JFnadz6+.net
> >>337
> まるで和田メソッド(TDDの常識的な手法)に
> 限界があるような言い方してるじゃんw
>
> 自分が何も知らないのに、限界があるんじゃないかという
> 疑いをかけるのはだめ。
疑いをかけられてないと思ってる人間が疑いをかけるのはだめとは言わんでしょう

351:デフォルトの名無しさん
20/07/11 22:53:46.53 fJlL8BSP.net
>>350
日本語が理解できてないねw

352:デフォルトの名無しさん
20/07/11 22:56:57.75 JFnadz6+.net
君は疑いをかけられてると思っていた
僕は一般論だよと言った
君は疑いをかけられてないと言い出した
僕はそんなの当たり前だろということを示すために君は日本語を使ってると
当たり前のことを言って皮肉った
という流れだったんだ

353:デフォルトの名無しさん
20/07/11 23:20:35 JFnadz6+.net
もうお互い大変でしょう、僕と仲直りしましょうか?
君にアホと言ったのは謝るよ、君が僕にバカと言ったのは忘れるよ
僕は心の広い知的なイケメンです

354:デフォルトの名無しさん
20/07/12 08:15:23.41 /RSb8Vzv.net
和田メソッドの真骨頂は、バグを作り込まなければテストする必要が無いことにある。
テストは甘え、甘えがある限りバグは無くならない。
つまり、テストしない仕組みづくりこそが和田メソッドである。

355:デフォルトの名無しさん
20/07/12 09:15:09.92 SoQxatgN.net
クソみたいな議論ばっかに見えるがプログラム技術板の中ではわりかしまともな方になってるぞ。

356:デフォルトの名無しさん
20/07/12 09:33:56.05 zf8GLb7g.net
>>355
参考までにまともだと思うレス番教えてくれ

357:デフォルトの名無しさん
20/07/12 12:19:27.16 6LAoyHzZ.net
>>354
デマ禁止な

358:デフォルトの名無しさん
20/07/12 15:39:00.55 /RSb8Vzv.net
和田メソッド被害者の会結成しなくては。

359:デフォルトの名無しさん
20/07/12 16:03:31.03 lQJaWZP0.net
本当の被害者は自分が被害を受けたと自覚していない

360:デフォルトの名無しさん
20/07/12 16:04:35.47 /RSb8Vzv.net
それは恐ろしい話だけど、このスレにもちらほらいるね。

361:デフォルトの名無しさん
20/07/12 16:04:37.33 6LAoyHzZ.net
そういう人に、どういう被害を受けたかを説明できればね(笑)
結局、被害の内容を言えないんだから、被害はなかったということ

362:デフォルトの名無しさん
20/07/12 16:11:56.07 /RSb8Vzv.net
オウム真理教の信者は被害者でもあり加害者でもある。

363:デフォルトの名無しさん
20/07/12 16:47:10.65 6LAoyHzZ.net
上の方でも書いたけど「例え」は何かを批判するときに使ってはだめ
「それは別の話で関係ない」という簡単な一言が完璧な反論になってしまうから

364:デフォルトの名無しさん
20/07/12 17:15:44.85 /RSb8Vzv.net
和田メソッドの信者は被害者でもあり加害者でもある。

365:デフォルトの名無しさん
20/07/12 18:31:40.10 6LAoyHzZ.net
しかしその理由は何一つ言えない。中身が無いからだ。

366:デフォルトの名無しさん
20/07/12 18:43:30.23 /RSb8Vzv.net
眉唾理論。

367:デフォルトの名無しさん
20/07/12 18:53:56.08 hGDsxp2M.net
>>366
なるほど、つまりTDDはテストが開発を駆動するという考え方で
テストによって実装や設計が導かれるということなのだけれども
設計過剰だったり設計不足だったりする
設計は本来ドメインに関する知識から導かれるものなので
入力、出力を決めたら自動的に最適な設計が見つかりますなんて
そんな都合の良いことが起こるわけもなくTDDは現代では否定されていて
単体テストよりもシステムテストを重視したほうが製品の品質はあがるわけですな

368:デフォルトの名無しさん
20/07/12 18:54:49.46 /RSb8Vzv.net
説明に対して全く聞く耳を持たず、和田経典に書いてあると繰り返すだけだから、宗教的なナニカ扱いされてる。

369:デフォルトの名無しさん
20/07/12 19:04:08.64 /RSb8Vzv.net
t-wadaがお勧めする和田メソッド。
騙されたやつ多いのでは。

370:デフォルトの名無しさん
20/07/12 19:10:42 6LAoyHzZ.net
>>367
> TDDは現代では否定されていて

どこで否定されてるの?さらっとウソを付かないように。
どうせすぐに俺がバラすんだから意味ないよ(笑)

371:デフォルトの名無しさん
20/07/12 19:20:59.87 /RSb8Vzv.net
どこで否定されてるのとか、これまでのみんなの説明が全くの無駄。
和田さんには和田さんの経典があり、みんなの意見には耳を貸さない。
だから宗教と言われてる。

372:デフォルトの名無しさん
20/07/12 19:22:03.23 hGDsxp2M.net
前スレですばらしい分析を見たなあ
897+1 :デフォルトの名無しさん [↓] :2020/07/05(日) 11:28:59.86 ID:YdQ981ul
>>870
新しい理論や手法を提唱する人には良くあることだと思うけど、その理論はある前提、ある側面では正しいけど、常に無条件に適用することは正しくないと本人は分かっていて、敢えてそういうことはわざわざ詳しくは説明しない。自分の論が有用な物だと主張したいがため、嘘はつかない範囲で相手が勝手に誤解してすごいと思わせるような物言いをする。
で、その理論に感銘を受けた人の一部が、理論の表面的な効能だけをありがたく受け取って問題点や前提条件などは正しく理解しないまま、受け売りの知識を他所で披露する。
そこで議論になると、本質をちゃんと理解してないまま自説を擁護しようとするから、無理が生じたり話が噛み合わなかったりする。
という流れでイマココなのかなと思う。

373:
20/07/12 19:58:09.07 YoHAyY/u.net
>>372
昔の言い方でいうところの「東大話法」というやつですね…

374:デフォルトの名無しさん
20/07/13 00:50:54.57 b4eaK6qk.net
>>372
素晴らしい分析? それはTDDに関しての分析じゃないよ
その文章はTDDに関して何一つ言及していない。

375:デフォルトの名無しさん
20/07/13 00:54:17.24 b4eaK6qk.net
>>371
ここに和田さんはいないんだから、意見を聞かないはずだという逃げの言葉で
お前の意見を言わないのはおかしい。
他人が意見を聞くかは関係なく、
お前の意見を言えばいい。
言えないなら、反論するすべがないというのがお前に対する結論だ。

376:デフォルトの名無しさん
20/07/13 01:12:00.86 Lu0QN2xA.net
>>1 がアスペのスレ

377:デフォルトの名無しさん
20/07/13 01:12:57.80 Lu0QN2xA.net
和田メソッドの弊害

378:デフォルトの名無しさん
20/07/13 01:36:28.61 b4eaK6qk.net
と繰り返えすだけ

379:デフォルトの名無しさん
20/07/13 06:26:53.87 7vLZz4H7.net
>>375
イイエ居ます。
みんな説明してます。
見えないことにするなら、みんなの書き込みが無駄です。
和田メソッドはカルト宗教の様相を呈してきた。

380:デフォルトの名無しさん
20/07/13 07:01:21.00 7vLZz4H7.net
和田メソッドのせいで日本のITが10年遅れた。

381:デフォルトの名無しさん
20/07/13 07:07:45.10 b4eaK6qk.net
和田メソッドって単なるTDDだぞ?

382:デフォルトの名無しさん
20/07/13 08:39:56 7vLZz4H7.net
イイエ違います。
和田メソッドは宗教です。

383:デフォルトの名無しさん
20/07/13 08:41:17 7vLZz4H7.net
和田さんはこのスレに居ないと書き込んでるのが御本人かもしれない。

384:デフォルトの名無しさん
20/07/14 13:34:51.74 6KNOtJR0.net
ステマスレ。

385:デフォルトの名無しさん
20/07/16 12:32:21.61 PwJLBkvh.net
失速したな
TDDはプロトタイピングと組み合わせると良いかもね
テスト書かずに概ね正確に動作するコードを書いた後に
ブラッシュアップする目的でTDDを使って書き直す感じ

386:デフォルトの名無しさん
20/07/16 12:34:19.44 PwJLBkvh.net
TDDを布教する人が何回も同じコード書いてうまくなっていくように
書き捨てたコードの数だけTDDは洗練されるんじゃなかろうかと

387:デフォルトの名無しさん
20/07/16 13:59:03.56 r2RuGKFG.net
和田メソッドのせいで失われた日本ITの20年。

388:デフォルトの名無しさん
20/07/16 15:09:03.31 fGKOjjQM.net
和田さんじゃなくてTDDの話をしよう
詳しい人いないの?

389:デフォルトの名無しさん
20/07/16 15:51:48.48 F4CmQs0T.net
テスト書くタイミングについてなら少しだけ。
わりとだら~と書いて関数なりクラスなり切り出したタイミングで書く感じ。
テストから書くってのは普通の人には難易度高い気がするわ。

390:デフォルトの名無しさん
20/07/17 02:41:00.28 sGfB37JM.net
最終的なプログラムの詳細設計がパッと頭に浮かぶ人ならテストから書けるんだろうけど
プロトタイプぐちゃぐちゃ作って、やっと構造が決まって、とりあえず動くもの作った後でリファクタリング、な俺には無理だなぁ

391:デフォルトの名無しさん
20/07/17 11:27:59.95 wlvhc7i8.net
>>390
そういうやり方にこそTDD的なアプローチが有効だと思うが

392:デフォルトの名無しさん
20/07/17 20:03:07.08 kbqCxtb3.net
>>390
構造が決まった時に設計が始まるんじゃないのか?


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch