1 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 23:08:42.31 ID:pIEuB3Z3.net] オブジェクト指向に限らず、理由もなく小さく細分化させるのはアホ オブジェクト指向は役割でオブジェクトに分割するものであって 処理で分割するものではない。
357 名前:ヌみ直せ。 [] [ここ壊れてます]
358 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 22:56:41.85 ID:fYfYnZgZ.net] >>338 ひょっとして TDD のテストコードと単体テストのコードの区別もついてないの? >>345 テストコードのリファクタリング? テストコード書いたこと無いだろ w
359 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 22:59:59.68 ID:xWVfr+QL.net] >>350 ん?単体テストはどうやってるんだ?
360 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:05:59.10 ID:fYfYnZgZ.net] >>351 普通にホワイトボックステストもやってますがなにか?
361 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:06:31.08 ID:4VbjelCP.net] >>350 お前が、和田卓人(t_wada)さんより優秀だと認めることが 可能な証拠があるなら信じてやるよw d.hatena.ne.jp/t-wada/20100228/p1 テストのリファクタリング 第20回 テストコードの重複はアリかナシか gihyo.jp/dev/serial/01/tdd/0020
362 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:10:48.99 ID:xWVfr+QL.net] >>352 自動テストなのだとしたらコードを修正したらテストスクリプトの変更が必要になるだろ。
363 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:11:56.40 ID:xWVfr+QL.net] >>353 誰だよそいつって思ってる人がほとんどだと思う。 自演?
364 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:17:00.62 ID:z+8MoLFP.net] 消費税引き上げ先送りも決まり,日銀とECBがしっかり資金供給を拡大してくるのでFRBの利上げは多分成功する 基調はリスクオンの株式暴騰、金暴落だね 今度の黒田砲は緩慢に効いてくる 海馬がくる,海馬がくる
365 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:19:02.08 ID:4VbjelCP.net] >>355 誰だよって言った時点で、 お前がモグリだって確定だわw TDDとかテスト関連を真面目にやってる人なら 知らないわけ無いだろ。
366 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:20:02.00 ID:4VbjelCP.net] 「TDD 第一人者」で検索したら一番目に出てきたわw
367 名前:デフォルトの名無しさん [2016/06/03(金) 23:20:57.70 ID:7emugrZg.net] 抽象データ型プログラミング捨ててもc++はオブジェクト指向なのだろうか >>355 >誰だよそいつって思ってる人がほとんどだと思う。 えぇ...(困惑)
368 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:34:34.83 ID:hDVrd4N5.net] 和田卓人について今必死に調べてる最中なんろうだなあ OOについて知ってて適用して嬉しい範囲が分かってれば将棋ソフトが不適切だって分かるし、 aperyのソース読んでOOじゃないってのも分かるんだけどなあ 言葉尻しか捉えることができない人間だもんなあ。文章よりUMLの方が分かりやすいとか言っちゃうもんな
369 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:39:40.00 ID:xWVfr+QL.net] >>357 いや知らんわ。 オブジェクト指向に対する日本の貢献なんてないから。 お山の大将乙。
370 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:40:32.42 ID:4VbjelCP.net] >>361 じゃあ他にこの分野で誰を知ってる?
371 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:42:42.54 ID:xWVfr+QL.net] 英語できなさそうだな〜。 コピーするしか脳がない奴の話を聞くくらいなら原書読もうぜ。
372 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:43:19.81 ID:4VbjelCP.net] 名前が出てこない(笑)
373 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:43:23.51 ID:xWVfr+QL.net] >>362 日本人縛りって時点でw
374 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:44:39.14 ID:7emugrZg.net] 特に理由のない誹謗中傷が和田卓人を襲う!
375 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:45:36.21 ID:4VbjelCP.net] >>365 で外国人の名前は?w
376 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:46:21.40 ID:xWVfr+QL.net] 内容で語ろうぜ。 自分で評価できないってバカだよねえ。 そのうえ、プロセスを創造している海外では存在すら知られていない日本人って…。 ださいなあ。
377 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:46:47.14 ID:4VbjelCP.net] じゃあ、内容で語れよ(笑)
378 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:47:04.47 ID:xWVfr+QL.net] >>367 自分でぐぐったら? 英語を知らないから英語じゃぐぐれないの?w
379 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:47:39.12 ID:4VbjelCP.net] >>370 そのセリフ、自滅してね?w
380 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:47:46.41 ID:xWVfr+QL.net] >>369 語ってたじゃん。 俺の質問にお前がさっさと回答してくれやw
381 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:47:53.75 ID:7emugrZg.net] なんでそんなに和田卓人につっかかってんだよw
382 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:48:47.04 ID:xWVfr+QL.net] >>371 あれ、ほんと英語できないんだお前? いくらでも探せるものをいちいち聞くなよ…。バカすぎる。 https://en.wikipedia.org/wiki/Test-driven_development
383 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:48:51.20 ID:4VbjelCP.net] >>372 自分で、その語ってるレスを示せよw あくまで内容を語ってるセリフだ。 内容がないものはだめだぞw
384 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:49:09.65 ID:4VbjelCP.net] >>375 で、それがどうしたの?
385 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:49:26.20 ID:4VbjelCP.net] 間違えた >>374 で、それがどうしたの?
386 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:50:49.44 ID:xWVfr+QL.net] >>373 オブジェクト指向に対する日本人の貢献はないから興味ない。 提唱者あるいはその周辺の人が書いた本を読めるのにわざわざ無関係の奴らの発言に興味を持つのは謎でしかない。
387 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:50:58.39 ID:H1f9Dv2X.net] 関心ごとを明確にして、簡潔に語ろうぜ…
388 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:51:43.97 ID:xWVfr+QL.net] >>375 書いてあるから読み直せよ。 英語だけじゃなくて日本語も読めないのか? 2つくらい質問してるのが回答されないままだな。
389 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:51:52.62 ID:4VbjelCP.net] >>378 和田卓人の話をしてるのに、なんでオブジェクト指向の話になってるんだよw
390 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:52:41.90 ID:4VbjelCP.net] >>380 > 書いてあるから読み直せよ。 普通に書いてないよね? 書いてあるんだったら、それを示せばいいだけのはずだし。 行動が一々、墓穴踏んでるんだよね。お前w
391 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:52:57.05 ID:xWVfr+QL.net] >>377 ちょっとは読めよ。 ヒント Reference ま、お前には無理だから日本人を探してるんだろw だっさ。
392 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:54:52.35 ID:4VbjelCP.net] >>383 そこに書いてあるのは人の名前であって、 お前の意見を代弁しているものじゃないだろう? お前は、誰の名前を持ってきて、 その人は、どういうことを言っているといいたいんだ?
393 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:55:08.57 ID:xWVfr+QL.net] >>382 >>341 >>354 わざわざ探してやったんだから回答しろよ。
394 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:55:30.40 ID:aDP5A1Yp.net] TDDならケント・ベックじゃないの?
395 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:58:50.71 ID:4VbjelCP.net] ついでに英語で検索していったらこんな本見つかったわw xUnit Test Patterns: Refactoring Test Code www.amazon.com/xUnit-Test-Patterns-Refactoring-Code/dp/0131495054 あんた元々何がいいたかったんだっけ? テストはリファクタリングしない?(笑)
396 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 23:59:34.01 ID:xWVfr+QL.net] >>387 回答になってねえぞ無能。
397 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:01:25.71 ID:gXar6Rt9.net] テストのリファクタリングだけど テストってテストデータの準備、テスト対象の実行、テスト結果の判定の3ステップあって それぞれが単一責任になってるのでリファクタリングはそれぞれを単体で攻めるようにする 必要があればセットアップ用や実行用のユーティリティクラスもつくる 詳しくはxUTPの本を読め
398 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:02:57.32 ID:Sbqo4kno.net] >>389 テストはリファクタリングしない?とか言ってないわ。 w付けてるけどまったく的外れでこっちがwwwwだわw 勝手に妄想して自分の妄想の中で生きてる奴やばいwww
399 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:03:58.19 ID:Sbqo4kno.net] >>389 で、俺がわざわざ探してやった質問に回答してくれるんだろ? 回答は? あれ?無能だからできないw
400 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:05:00.14 ID:ZPhk/eMO.net] >>388 お前が回答しろよw 外国人なら、テストはリファクタリングしないと 言っているはずだっていいたかったんだろ? 外国人の名前持ってきても(それは誰でも出来る簡単なこと) なんの反論にも鳴ってないんだぞ。
401 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:07:01.03 ID:Sbqo4kno.net] >>392 テストはリファクタリングしないなんて言ってない。読み直せよ。 俺みたいにレス番上げてみろよ。 ないからwwwww 妄想ひどいwwwwwwwwwwwww
402 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:07:39.62 ID:EUBySE80.net] 和田卓人知らない奴はモグリと言われて顔真っ赤にしてるからな。 英語文献しか読まないから知らんと言ってるが、この時点で他のサイトに行って確かめるような事なんて何も無いのに、 英語が読める読めないの話に終始。今ID:xWVfr+QLは何を主張しているのか、自分で分かってないだろう。 取り繕い方が絶望的に下手。
403 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:08:28.17 ID:Sbqo4kno.net] >>392 で、お前はテストはリファクタリングしない俺に質問のレスをわざわざ探させた上に 回答できない? ほんとどうしようもない奴だな。呆れたもんだ。
404 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:09:05.57 ID:gXar6Rt9.net] >>391 なんの質問? メソッドが変わった時だっけ? 基本ユニットテストは対象クラスのメソッドに1体1だし 結合テストもテストデータの作成やテストの実行は単一責任のクラスで吸収できるだろ
405 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:10:18.42 ID:ZPhk/eMO.net] テストに興味があるのなら、 和田卓人知らない奴はモグリだろw
406 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:11:03.96 ID:Sbqo4kno.net] >>394 いや、日本人に興味を持つ奴らが不思議でしかない。 提唱者あるいはその周辺の人が書いた本を読めるのにわざわざ無関係の奴らの発言に興味を持つのは謎でしかない。 むしろ日本人の名前あげるってバカ丸出しだと思って見下してるよ。 これ以上方っても無意味でしかないから和田何某関連の書き込みはスルー。 吼えててもバカ晒して恥ずかしがってるJAP笑えるとしか思わないからw
407 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:11:50.36 ID:gXar6Rt9.net] >>391 もっというならOCPを徹底しているならばクラス間の関係がクラス内部の変更によって壊れないはず ただそれはただの理想論なのでなんとか単一責任のクラスで吸収しようとする苦肉の策
408 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:12:18.79 ID:Sbqo4kno.net] >>396 レス番つけてやったんだから分からなきゃ前後を読み直せよ。 お前は無能臭がすごいから説明するの面倒。
409 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:13:09.76 ID:ZPhk/eMO.net] >>398 お前が日本語でこの文章を書いている限り、日本語で 検索しているはずだし、検索に引っかからないわけがないだろw 興味が有るかどうかとは別の話だ。
410 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:15:10.94 ID:Sbqo4kno.net] 俺のほうがすごいって言うなら技術を実感させる回答すればいいのに 俺のほうがすごいって不毛な主張を繰り返している奴らってほんと無能だと思う。 技術者なら技術を感じさせろよ。だっせえなあ。
411 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:15:33.64 ID:ZPhk/eMO.net] 和田さんは日本語でテスト関連のことを調べていれば 必ずヒットするんだよ。 それを知らないってことはテストに興味が無いと言うのと同じこと。
412 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:15:52.46 ID:gXar6Rt9.net] >>400 xUnit使ったことある? もしあるなら>>354 みたいな質問は出ないはずなんだけど 釣り?
413 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:16:02.23 ID:ZPhk/eMO.net] >>402 俺のほうがすごいって言うなら技術を実感させる回答すればいいのに
414 名前:デフォルトの名無しさん [2016/06/04(土) 00:16:33.12 ID:Sbqo4kno.net] 異常な和田連呼まじワロタw
415 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:17:19.91 ID:Sbqo4kno.net] >>404 使った上での疑問。 で、回答は?
416 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:19:41.01 ID:Sbqo4kno.net] お前らの相手してるのアホが移りそうだからしばらく放置するわ。 俺に認めて欲しいなら質問にまともな回答を返してくれよ。 技術的にまともな回答が付いていたらそいつのことは評価するよ。 技術のある技術者は好きだから。
417 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:20:27.20 ID:gXar6Rt9.net] >>407 もしかしてコードが変わったらテストスクリプトも変えるってことか だったら>>396
418 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:21:29.06 ID:gXar6Rt9.net] テストスクリプトって ユニットテストを実行するTestRunnnerのことかと思った
419 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:22:00.25 ID:Sbqo4kno.net] >>409 基本ユニットテストは対象クラスのメソッドに1対1ならメソッドが変わったらテストも変えなきゃだめだろ。
420 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:23:10.14 ID:Sbqo4kno.net] >>410 テストコードだな。 最近スクリプトのテストを書いていたもんで間違った。
421 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:25:12.27 ID:ZPhk/eMO.net] >>408 俺のほうがすごいって言うなら技術を実感させるセリフいえばいいのにw
422 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:25:17.37 ID:gXar6Rt9.net] >>411 変えるよ でもリファクタリングでメソッドが複雑化する方向にはならないでしょ クラスとしての既存の振る舞いは変えないんだから 新たに追加するんだったら 別にTDDとかユニットテストじゃなくてもリグレッションテストやるから一緒じゃない?
423 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:29:02.08 ID:Sbqo4kno.net] >>414 ある奴が「クラスもメソッドもどんどん変える」と言ったからそんなことしたら 工数が膨れるのでは?って話。 インタフェースを変えない範囲に限定して修正するのが基本だと言ってる?
424 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:29:14.32 ID:gXar6Rt9.net] リファクタリングするときは クラスやメソッドが肥大化して単一責任でなくなった時に分離 重複コードをまとめる 必要に応じて依存性の注入くらいかな
425 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:30:46.54 ID:Sbqo4kno.net] >>416 そもそもリファクタリングの話は俺はしてないって…。
426 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:33:36.95 ID:gXar6Rt9.net] >>415 おそらくその「ある奴」は俺のことだと思うけど 「ユニットテストや結合テストによって全体の整合性が保たれてるから 局所的なクラスはどんどんリファクタリングする」くらいの意味 前提条件と言葉がたりなかったね APIというかインタフェースを変えるときはメンバーに相談とかレビューとかしっかりするよ
427 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:37:18.78 ID:Sbqo4kno.net] 俺の理解が足りないのか、言葉使いが不正確なのか分からんがすっきり理解できない。 まず、ユニットテストは一部だけをテストするんだから全体の整合性が保たれる理由になるのが不明。 次に、局所的なクラスはどんどん改修する場合、テストもそれに合わせて改修するんだろ? 認識のずれを生じるとめんどくさいから悪いけどそれぞれについて分けて回答欲しい。
428 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:39:15.95 ID:Sbqo4kno.net] もしかして、局所的なクラスの改修ってメソッドとしての動作は変えない (変えたとしても修正)範囲の修正ってことか?
429 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:40:09.16 ID:ZPhk/eMO.net] >>419 次に、局所的なクラスはどんどん改修する場合、に 他が壊れてないか、どうやってテストするんだって話だろ。
430 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:50:54.06 ID:Sbqo4kno.net] どうも>>420 っぽいな。 その範囲の変更を「クラスもメソッドもどんどん変える」と言うなよ…。 お互い時間を無駄にした。
431 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:53:56.58 ID:pn86qigp.net] 微妙なリファクタリング 微ファクタリング
432 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 01:34:22.66 ID:U+sUBqw0.net] 完全に横だが、、、 お前らもうちょっと話を噛み合わせる努力をお互いにしろよなと。 以下はお前らがやり合っている間に俺がググった内容だ。 >>316 の本の内容は、テストコードのデザインパターンだ。 > devtesting.jp/pekema/?0001%2FTopics 要するに、オブジェクト思考が「変更に強い」なら、テストパターンもまた同様に気を使えば「変更に強く」なるって事だ。 TDDは和田卓人本人が認めているように、 > テスト駆動開発に「完壁主義の呪い(完壁な設計を得るまではコードを書けないし良いシステムも出来ないという強迫観念)」を解いてもらってからは > xn--97-273ae6a4irb6e2hsoiozc2g4b8082p.com/%E8%91%97%E8%80%85/%E5%92%8C%E7%94%B0%20%E5%8D%93%E4%BA%BA OOPや従来型の「しっかり設計してからコーディング」とはやり方が根本的に異なる。 デタラメでもいいからコーディングし、単体テスト/レグレッションテストの環境を構築してから、 リファクタリングで目的のコードを得ることを目指す。つまり、事前に「完壁な設計」は必要ない。
433 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 01:34:44.80 ID:U+sUBqw0.net] 説明として分かりやすかったのは以下で、まんまそのまま書いてある。長いがそのまま引用する。 > では、どんなときにTDDを採用すべきではないか。 > 筆者の個人的な感想ということをあらかじめ断っておくが、 > 恐らくオブジェクト指向のモデリングを重視して行うプロジェクトは、TDDと相性が悪いだろう。 > というのは、TDDではコードの重複を取り除き、リファクタリングを行っていく過程で、クラスが生まれたり消えたりするからだ。 > 例えば、『テスト駆動開発入門』に出てくる例でも、クラスが生まれたり消えたりする過程が描かれている。 > もし、個々のクラスが存在することに必然性があり、個々のクラスが特定の役割を担うことが期待されるなら、 > コードの重複を取り除く、というような目的のために、クラスが生まれたり消えたりすることは受け入れられるものではないだろう。 > このような問題は、オブジェクト指向モデリングという技法を支持しない筆者のようなプログラマであればまったく問題はないが、 > もっぱらオブジェクト指向モデリングを通してプログラムの構造をイメージする「オブジェクト脳」の持ち主には厳しい制約かもしれない。 > www.atmarkit.co.jp/fdotnet/special/tdd/tdd_04.html
434 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 01:35:25.53 ID:U+sUBqw0.net] TDDと従来型手法のどちらが効率がいいのかはよく分からない。 ただ事実として従来型は「設計」ありきなので、「設計」できない奴はそこで止まってしまう。 或いは意味不明な設計をして無駄が大量発生してしまう。 だからそのレベルに達していない奴なら、 TDDの方が動かしながら設計=必要/不必要なメソッドが分かりやすいので、捗るだろう。 で、言っちゃ悪いが>>1 は達していない。(これは多分みんな思っている) 「設計」出来る奴ってのはつまり、仕様を聞いたらおぼろげながらも「最終コード」が思い浮かぶ奴であって、 必要ないクラスやメソッドをぐちゃぐちゃやっているような奴は駄目だ。 ただ、ある程度「設計」出来る奴が使った場合にどちらが早いのかは分からない。 例えば上記サイト、 function add(x,y){return x+y;} で説明しているのだが、当たり前だがこの仕様なら誰しも最初からこの最終コードに到達できる(=「設計」出来る)ため、 このような状況ではTDDよりも従来型の方が確実に早い。 しかしこれがどこの規模まで行けるかということで、 さすがに最終コード(数千行)を最初からベタ打ちでいきなり動かせる奴なんていないので、 その時にどうなるのかはやってみないと分からない。 ただ、確実に言えるのは、進捗管理はおそらくTDDの方がやりやすいだろう。 >>1 みたいにアホな設計をしていると全部無駄になってしまうが、TDDなら曲がりなりにも着実に進む。
435 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 02:39:38.93 ID:ZPhk/eMO.net] TDDは出来るできないというよりも 慣れの問題なので、どんなにダメな奴でも やろうと思えば出来る。 ただしダメな奴は苦痛になるだろう。 なぜならば、従来は目視でやっていたものを コードで書くから、コードを書くことが苦手な人は苦痛。 そうでない人は面倒さを乗り越えるだけ。 ただ中には長ったらしいコードを書くことが苦痛と思わないやつが居るらしく、 そういうやつにTDDやらせると、通常のコードはもちろん テストコードもコピペだらけでメンテナンス不可能なものになる。
436 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 02:48:16.27 ID:8pa3f3ig.net] 合わせ技というのは考えないのか? 設計段階で大体のところを決めておいてさ というのも大まかにでも分けないと分担作業ができないからね 一人で書く場合でもソースコードは複数に分けるから まず大体にでも分割しないと何もできないよね 細かな部分は実際に書いてみるまで問題が発覚しない場合もあるから その、TDDとかいうのに任せてもよいんじゃね? 究極的には一つの関数の中でだったら、ある程度プログラマの自由なんだから 自分一人で勝手にTDDしても周りに迷惑かけないよね もう少し視点を広げれば、外部に公開しない部分であればTDDでも通用するんじゃないかな そういう意味では俺は君と考え方が全く逆だね 俺は能
437 名前:力が無くても大まかになら設計できるものだと思っている どんなに規模が大きくても、二つ三つに分けろと言われたら、まぁ分けられるでしょう ただ、細部に至って完璧に把握して問題を洗いざらい神経質に取り除けるかというと これは能力がいると思っている 従来型とTDDは別に相反しているとは思わないね 大まかな設計するのは当たり前だし、今書いている局所的なコードの一片に関してはTDD的だろうし ただ、それらがどこで出会うか、どのレベルで扱うかというだけの問題でしょう 一つの考え方だけで全てをこなさなきゃならないわけでもないでしょう [] [ここ壊れてます]
438 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 03:41:02.75 ID:8pa3f3ig.net] 従来型の設計と名指しされている方法は、どう考えてもトップダウンのことだし TDDとかいうのは、とりあえず書けるところから書いていくというのであれば、どう考えてもボトムアップの方法だし すでにこう言った言葉があることからもわかる通り、古くからある考え方で、珍しくもない 飲み会するとき、どこの店に行くかはトップダウン的に決めるが 何を注文するかはその時の気分でメニュー見てから決めるし、「とりあえず」生中っていうのと一緒で 大体の人が勝手に使い分けている 未来のことが大事だから良く考えるってのも分かるし 未来のことは分からないから今できることをするってのも分かる ちょうどよいバランスというものがあるし、中間層のグラデーションの部分が難しい ま、偏る必要はないでしょう
439 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 05:57:33.01 ID:Ux1fTD3c.net] >>353 そのリンク先ちゃんと読んだか? テストのリファクタリングはテストコードを書いた直後の話だし テストの重複の話に至ってはその和田某氏は重複を許容(=リファクタリングしない)って言う発言すらしてるぞ w
440 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 05:59:48.64 ID:Ux1fTD3c.net] >>354 なるけど、それってリファクタリングじゃないよね
441 名前:デフォルトの名無しさん [2016/06/04(土) 06:32:15.41 ID:T5kdlzfl.net] 人の名前を知ってたらオブジェクト指向ができるのかな
442 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 06:39:15.47 ID:QdGQjCl9.net] 32 :まちがって名前消しちゃいました。:2013/04/28(日) 23:55:48.52 ID:??? >>29 自分こそインベーダーさえも作れないんだろ?www どうでもいい言葉の揚げ足取りばっかして 結局口先だけで何にもアップロードできねーじゃんwww お前が古臭い口先だけで何も作れない、絶対的な証拠www 出来るものならアップロードしてみろよ、老いぼれジジイがwww 33 :まちがって名前消しちゃいました。:2013/04/28(日) 23:55:59.93 ID:ikP5EXjcコンソーレの文章中の単語は、コンソーレがいじめを受けた時の単語なわけ、 だからコンソーレが吐き出す単語がすべて、コンソーレ自身に当てはまる。 34 :まちがって名前消しちゃいました。:2013/04/28(日) 23:56:47.74 ID:??? >>31 ハブられてるのはお・ま・え 勘違いするな基地外 35 :まちがって名前消しちゃいました。:2013/04/28(日) 23:59:26.06 ID:??? >>31 なーんで、インベーダーのスクショの画像で 座標がマイナスになっているのかねーーーwwww フォントが切れているっていうか、頭の血管切れてるんじゃねーの?www
443 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 07:55:59.43 ID:n7HRsF8B.net] テスタビリティを追い求めるなら純粋関数の集まりで 機能を構成したほうがいいしオブジェクト指向はそのようになっていない モックオブジェクトやスタブといった複雑なテスト機構が必要になる 1.オブジェクト指向はテスト容易ではない また部分適用がないからインターフェースのシグニチャをどうするかという問題が非常に痛い そのためシグニチャを簡潔にしようとする、引数で状態を渡すという純粋関数的なアプローチを否定せざるを得ない クラスはプライベート変数を多く持ち、アクセサメソッドが必要になる。 プライベート変数をテストするためには.ToStringのオーバーライドがほぼ必須であり、 クラスを作るごとに必要になるであろう。 2.オブジェクト指向はテスト出来る状態にするために行数がかかる なぜならば、ユーザーだけでなくプログラマからみても状態という最も重要な情報が隠蔽されているからだ 何をするにしてもクラスクラスクラス クラスを定義するごとに、そのクラス専属のメソッドを書かなければならない 非常に似ているデータ構造があったとしても、統一的な関数でなく、クラスの「継承」によるメソッドの受け渡しを与儀なくされる 似ているデータ構造は所詮似ているだけで、別個のクラスなのだ 多重継承をサポートしているならいいが、単一継承しかサポートしていない言語にとって 複数のアスペクトからなるクラス構造を書くためにはどうすればよいか?また新たなシンタックスを追加すればよいだけだ 3.オブジェクト指向には再利用性がない クラスというものに単一の役割を持たせるのが好ましいというが、 本当に単一の役割を志向するならば、単一の機能をもった関数のほうがよほど簡潔に書ける クラスという概念そのものが、データ構造とふるまいという複数の役割を持っている オブジェクト指向システム設計という言葉が示唆するもの、それは単なるシステム設計ではないということだ 設計行為というのは性能、機能、品質、保守性といったトレードオフを人の手でバランス調整するということだが、 それは適切なデータ構造を定義し、抽象化された汎用性の高いアルゴリズムを書けば済むことで、 それらを一緒くたにし、SRPに反しているオブジェクト志向という土台が、設計行為の役に立つとは思えない
444 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 08:08:05.81 ID:n7HRsF8B.net] 然るにオブジェクト志向という概念を理解できるかどうかというのは一つのバカの壁だということだ 本来、概念を理解できることが知性の証であるが、オブジェクト志向に限ってはそうではない オブジェクト指向を理解できると主張することのほうが、無知蒙昧の証なのである これは全くの仮構の理論であり、虚構の設計手法であり複雑な土台を軸として、複雑な設計ができる人間などいない 人間の計算資源は限られている less is more 最小限の直交したブロックをうまく組み立てることこそ設計であり、 この複雑なブロックをどうすれば扱えるようになるか?ということに議論の中心が行くということは ただ単に議論がしたいだけで、仕事がしたくはないのだ こういった議論は性能や品質といった極めて常識的かつ合理的な設計対象から目をそらすのにはちょうどいいものだ クラス設計者は、性能を議論できない彼らは設計者ではなく、単にUMLでお絵かきしたい幼児でしかない
445 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 08:26:51.69 ID:n7HRsF8B.net] 設計者と単なる教義に従順な信者かを見分ける方法が一つある それは 「有る目的を実現するために”複数の方法”が思いつくか?」ということだ これは言語を複数またいでいる人間にとっては容易なことだが、言語を一つだけしか知らない人間にとっては厳しい問題になる そしてさらに設計者と信者を見分ける方法がもう一つある。 信者がなんとか複数の方法をでっちあげたとしても、これの答えでわかる。 それは「複数の方法があるとき”どのような基準”でどちらの方法を採用するか?」ということだ。 信者は例えばファウラーのリファクタリングという本にこういうことが書いてあったので、方法Aを採用するというだろう しかし待って欲しい、リファクタリングは矛盾している記述も多い いつ仲介者を介すべきで、いつ仲介者を介さないべきか、あの本でわかった人間はいただろうか。 我々設計者はそうではない、複数の案があるなら、複数の案を試作してみて パフォーマンスや行数を計測し、ただただ設計目標に邁進するだけなのである、 それがオブジェクト志向的か?なんてことには興味が無い。 そういうことを気にする人間はそもそもシステム設計をやるつもりなんてないし、その力量もない その力量もないからこそ、「オブジェクト志向システム設計」という奇っ怪なものにすがってしまう その設計指針が絶対的なものだと考えてしまう さらに言えば、信者はコーディングができないのであろう コーディングができないからこそ、パフォーマンスを計測するという最も単純な評価基準すらもたずに議論に邁進してしまう まあ私も一般的なオブジェクト指向言語でコーディングしろと言われたら拒否する おっくうでおっくうで仕方がない、シンタックスは山盛りで私が望むシステムを記述するためには あまりにも面倒で仕方がない、IDEでなんとかなるものではない だからこそオブジェクト志向主義者はオブジェクト志向言語を使いこなすことはできないだろう 彼らにとっては机上での再利用性が第一で、実際にコードを書くということに興味が無い コードをかいて様々な言語をトライしてみたら、「あっ、これはダメだ」という感覚がわかるだろう コードを書かないから、感覚もないし、自分自身で「テスト」できない、そんな人間がテスタビリティを語る
446 名前:デフォルトの名無しさん [2016/06/04(土) 08:38:02.62 ID:T5kdlzfl.net] テストすることが目的じゃないでしょうに
447 名前:憲法に守られる在日スパイ・創価・ヤクザ mailto:sage [2016/06/04(土) 08:48:09.66 ID:SVOilD6U.net] 皇室の危機に気づいていますか? 日本は、2,000年以上続く皇室のおかげで、世界最古の国として、 ギネス認定されているそうです。 自民党は憲法の改正で、日本の国家元首=天皇陛下と条文に明記することで、 天皇制廃止をもくろむ帰化人スパイ勢力(政党、憲法学者、弁護士・言論人等)から、 皇室を守ろうとしています。 ※イギリス、オランダ、ノルウェー、デンマーク、スペインなどは国王を国家元首と 憲法上に定めている。(日本同様、政治の実権は有さない。) ※日本で支配的な「護憲派」憲法学者の多くは反天皇。憲法から天皇の条項ごと削除したい 人たちなので、本来は改憲派である。(「象徴天皇制度と日本の来歴」坂本多加雄著より) 公明党「天皇は日本の国家元首ではない」 hayabusa3.2ch.net/test/read.cgi/news/1363226509/ 自民党・西田昌司 「橋下さん(おおさか維新)の憲法改正は、国柄を破壊することが目的」(自民とは真逆) https://www.youtube.com/watch?v=sRkdQ2Rlwxs 日本共産党 「目標としては天皇制をなくす立場に立つ」「天皇制のない民主共和制をめざす」 www.jcp.or.jp/jcp/22th-7chuso/key-word/b_1.html#Anchor-0507 反天皇、反皇室で共謀する民主党(現民進党)と田原総一朗 blog.liv edoor.jp/fjae/archives/51968115.html 田原総一朗「天皇は、働かないで国民の税金で食ってる。」 https://youtu.be/6Kd1LwY9e0I?t=280 (4:40〜) ※ただし、自民単独(カルト公明党抜き)で2/3議席以上与えない限り、 野党と公明党に骨抜きにされる。 ↓ 自民・船田氏…「野党・公明党のみなさんと協議し、衆参両院の3分の2をこえる人が 賛成してくれなければ発議はできない。だからこれから大いなる妥協が始まる。 自民の憲法草案は、 ズタズタになると思って結構だ」 hope.2ch.net/test/read.cgi/seijinewsplus/1425226082/
448 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 08:49:06.93 ID:Ux1fTD3c.net] にちゃんで長文書く奴はもれなくバカの法則
449 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 08:57:11.64 ID:n7HRsF8B.net] オブジェクト指向だとリファクタリングということすら「機械的」に処理できないよな リファクタリングを正しく記述してみてよ、間違いなく長文になり、 個人個人によってそのやり方、ニュアンスが微妙に違い、 場合によっては真逆のことを指しているかもしれないから 俺にとってリファクタリングとはただ単に 「関数の中にある述語などの評価式をより小さな関数として切り出すこと」でしかないが オブジェクトだとフィールドをあっちのオブジェクトに移籍させたり、 フィールドを増やしたり、いろんな手順があるだろ? だいたいリファクタリングを語るのに300-400ページの本がある事自体まさしく 「長文書く奴はバカ」の法則にひっかかりまくってるよな、ファウラー自身が
450 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 09:05:18.77 ID:wWz/yuFg.net] 毛の壁さんが出張してきたのかな? はやく巣にお帰り。
451 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 09:08:50.19 ID:gXar6Rt9.net] クロージャーはpoor man's objectsだって言われてるの知ってる?
452 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 09:10:24.49 ID:n7HRsF8B.net] なんで質問に対して質問に返すのかな? そんなメソッドや関数って普通あるっけ? リファクタリングとは何か? こんな単純な質問にすら答えられないのに、一体何を設計できるんだろうな?
453 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 09:14:49.00 ID:n7HRsF8B.net] ああそうか、質問に対して別のやつに質問するメソッド(デリゲート)はあるわな つまり君たちに質問しても君たちは答えられないわけだ 君たちは単なるラッパークラスであり、実体は別の人間が知っていればよいと それがオブジェクト指向であると 実際そんな無知蒙昧なオブジェクトが「設計行為」できるわけないけどな
454 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 09:20:26.52 ID:gXar6Rt9.net] chain of responsibilityね?
455 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 09:24:16.89 ID:ZPhk/eMO.net] >>430 重複を許容 ≠ リファクタリングしない バカすぎ
456 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 09:50:23.15 ID:Ux1fTD3c.net] >>443 > リファクタリングとは何か? >>327
457 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 09:51:41.72 ID:Ux1fTD3c.net] >>446 >>353 のリンク先読んでそんなこと言ってるなら恥ずかしいだけだぞ w