テストを書いてからリファクタリングなんてのは幻想 (145レス)
テストを書いてからリファクタリングなんてのは幻想 http://mevius.5ch.net/test/read.cgi/tech/1349191466/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん [sage] 2012/10/03(水) 00:24:26.88 テストを書いてからリファクタリングするというけれど、 コードの内容によっては、それが現実的に不可能な場合がある。 汚いコードであればあるほど、リファクタリングの前に テストを書くのは難しくなる。 テストが書けるのは、単機能の関数になっているものだけ。 1000行以上からなる複数の処理を行う関数などテストを先に書くなんてまず不可能。 テストを書くためには、コードの再配置を先にやらなくてはいけない。 コードの順番を変えたりモジュールに分離するなどして、小さな処理にまとめて関数化する。 そこまでやってやっとテストが書ける。 現実的な修正の順番としては コード再配置 → テストコード記述 → リファクタリング にならざるをえない。 コード再配置はテストがない状態で行うから非常に神経を使う。 ミスを起こさないような再配置しかやってはいけない。 http://mevius.5ch.net/test/read.cgi/tech/1349191466/1
116: デフォルトの名無しさん [] 2023/06/28(水) 19:07:09.03 ID:X+ansWrV 自動テストは無理かも知らんが、 ある程度この種の仕様テストは通すってのは用意しなきゃいかんでしょ。 http://mevius.5ch.net/test/read.cgi/tech/1349191466/116
117: デフォルトの名無しさん [sage] 2023/06/28(水) 19:28:23.06 ID:ePd0oqZH なんか話が噛み合ってないな テストを用意するのは当たり前、その上でテストファーストの是非を問うスレじゃないのか http://mevius.5ch.net/test/read.cgi/tech/1349191466/117
118: デフォルトの名無しさん [sage] 2023/06/28(水) 22:15:25.11 ID:8Nsh461b テスト書いたほうが実装は楽 むしろテストお陰で実装の質を上げられる リファクタリングも同じ http://mevius.5ch.net/test/read.cgi/tech/1349191466/118
119: デフォルトの名無しさん [] 2023/06/30(金) 00:06:22.90 ID:qUWZqjjs クソ実装に合わせたテストコードなんてリファクタリングしたら無駄になるやろ http://mevius.5ch.net/test/read.cgi/tech/1349191466/119
120: デフォルトの名無しさん [sage] 2023/06/30(金) 03:44:05.79 ID:oUIG4oIk 最初の実装まではテストいらんよな ・関数Aのテストを書く ・関数Aを書く ・関数Bのテストを書く ・関数Bを書く ・関数Aと関数Bの重複部分を関数Cにリファクタリングするべ ・関数Cのテストを書く ・関数Cを書く ・関数Aのテストを修正←いらんやろ ・関数Aを修正 ・関数Bのテストを修正←いらんやろ ・関数Bを修正 http://mevius.5ch.net/test/read.cgi/tech/1349191466/120
121: デフォルトの名無しさん [sage] 2023/06/30(金) 04:40:09.64 ID:7dyjbNOC 実装にはカオス期と安定期があるからカオス期のテストは無駄 安定期に入ったらテストを書け http://mevius.5ch.net/test/read.cgi/tech/1349191466/121
122: デフォルトの名無しさん [] 2023/08/23(水) 00:04:39.70 ID:0BjzShXD 「テストを書く」って何? http://mevius.5ch.net/test/read.cgi/tech/1349191466/122
123: デフォルトの名無しさん [sage] 2023/08/23(水) 03:12:21.78 ID:rNgOhsHc >>122 このスレの文脈ではユニットテストのソースコードを書くという意味では? http://mevius.5ch.net/test/read.cgi/tech/1349191466/123
124: デフォルトの名無しさん [] 2023/08/23(水) 04:28:20.13 ID:0BjzShXD 仕事だとコーディングのことを「書く」とは言わないからな。 http://mevius.5ch.net/test/read.cgi/tech/1349191466/124
125: デフォルトの名無しさん [sage] 2023/08/25(金) 01:30:03.89 ID:gEfXDtwy そりゃ頭痛が痛いなんて言わないからな コードを書くとは言う。 コーディング(コードを書くこと)を書くとは言わない http://mevius.5ch.net/test/read.cgi/tech/1349191466/125
126: デフォルトの名無しさん [sage] 2023/08/30(水) 15:08:16.42 ID:bGhOLdki テスト http://mevius.5ch.net/test/read.cgi/tech/1349191466/126
127: デフォルトの名無しさん [sage] 2023/09/20(水) 17:55:14.32 ID:99hKkbYU ヽ(*'0'*)ツ ワァオォ!! http://mevius.5ch.net/test/read.cgi/tech/1349191466/127
128: デフォルトの名無しさん [] 2023/12/06(水) 11:48:46.05 ID:oM0gjrfW 全銀システム障害「詳細設計書見落とし」でオーバーフローの痛恨、再発防止なるか https://xtech.nikkei.com/atcl/nxt/column/18/00001/08680/ やっぱりテスト駆動にしておけば回避出来たよな http://mevius.5ch.net/test/read.cgi/tech/1349191466/128
129: デフォルトの名無しさん [sage] 2023/12/09(土) 15:17:43.26 ID:F2smNVkX >詳細設計書では4種類のテーブルを同時に展開できるだけの作業領域を確保することを求めていたが、プログラマーやレビュアーなどの関係者がいずれもその記述を見落とし、これが上述のオーバーフローを招いたという痛恨のミスだ >プログラマーやレビュアーなどの関係者がいずれもその記述を見落とし つまりテスト環境自体が無くてテストしてからって発想が抜け落ちてるのね http://mevius.5ch.net/test/read.cgi/tech/1349191466/129
130: デフォルトの名無しさん [] 2024/01/02(火) 22:20:43.54 ID:3cCPTdjI テストケース作るのがしんどいってケースもあるからいつでもテストファーストが良いってことはないわな。 http://mevius.5ch.net/test/read.cgi/tech/1349191466/130
131: デフォルトの名無しさん [sage] 2024/01/03(水) 14:18:03.35 ID:eQVBZ7Cn テストの有無とテストファーストの是非を混同してるやつがいるが、 おそらく故意にやってるんだろうな まあ、釣られてるやつほぼおらんけど http://mevius.5ch.net/test/read.cgi/tech/1349191466/131
132: デフォルトの名無しさん [sage] 2024/01/04(木) 11:26:57.34 ID:iR4GsMlV テストケース作るのがしんどいってテストしないのかよ 顧客のところでバグ炸裂して終了じゃんそんなの http://mevius.5ch.net/test/read.cgi/tech/1349191466/132
133: デフォルトの名無しさん [sage] 2024/01/04(木) 16:14:29.73 ID:bd+yebjO まあ実際全銀でバグ炸裂して終了してるしな NTTデータがケチる所でもないのに客に本番に近いテスト環境も別途必要ですよって説明してないんだろ http://mevius.5ch.net/test/read.cgi/tech/1349191466/133
134: デフォルトの名無しさん [sage] 2024/01/05(金) 04:49:34.73 ID:xFVV62H3 やっぱりプログラムを書き始める前に テストプログラムを書いておく これが最強 http://mevius.5ch.net/test/read.cgi/tech/1349191466/134
135: デフォルトの名無しさん [] 2024/01/10(水) 14:29:25.20 ID:Pvv0OiRv プログラムを書く時は間違えるがテストコードを書く時は間違えない前提 http://mevius.5ch.net/test/read.cgi/tech/1349191466/135
136: デフォルトの名無しさん [sage] 2024/01/10(水) 23:00:16.65 ID:W4mJO5rQ テストコードを間違えるか否か以前に、テストケースが抜け落ちるか否かもあるしな 全銀の件は抜け落ちてた話だから、テストファーストでやっても抜け落ちてたから一緒 http://mevius.5ch.net/test/read.cgi/tech/1349191466/136
137: デフォルトの名無しさん [sage] 2024/01/11(木) 19:24:45.83 ID:1WZH2d+B 根本的な解決策としては 複数人でチェックする ことかなあ 自分ではなかなか間違いに気が付かないし 自分の間違いが自分で気が付かないのは心理学でなんか名前がついていたような気がする http://mevius.5ch.net/test/read.cgi/tech/1349191466/137
138: デフォルトの名無しさん [] 2024/01/12(金) 08:10:20.90 ID:JglZpZY+ テストコードを間違いなく漏れなく書ける人がいるならその人がプログラムを書いたらいいだけの話 http://mevius.5ch.net/test/read.cgi/tech/1349191466/138
139: デフォルトの名無しさん [sage] 2024/01/12(金) 21:23:36.19 ID:+NlTfLsQ 建築とか機械系ではエラーはほとんど起きないんだけどな なんでソフトウエアだけ? ちなみに航空機は安全性を考えていると重くなって飛べなくなるので 安全係数が1を切っていると聞いたが http://mevius.5ch.net/test/read.cgi/tech/1349191466/139
140: デフォルトの名無しさん [sage] 2024/01/13(土) 14:43:18.36 ID:qyfvMh6P ライブラリやOSなどの基本ソフトとアプリなどの応用ソフトではまったく状況が違うよ 基本ソフトは大量に配布されて(コピーされて)、頻繁に実行されるので、 最高のエンジニアに作られて、徹底的に検証される(そうされないものは淘汰される) 要するにコスパの問題だよ。1本10万円のゲームで遊びたいかい? http://mevius.5ch.net/test/read.cgi/tech/1349191466/140
141: デフォルトの名無しさん [sage] 2024/01/13(土) 15:00:13.69 ID:vTVsKhAm ソシャゲ課金て月に数十万単位だし 無料のAPEXのスパレジェすら1つにつき5万円だし 10万程度は払うやつなら払うよ http://mevius.5ch.net/test/read.cgi/tech/1349191466/141
142: デフォルトの名無しさん [sage] 2024/01/13(土) 15:07:45.36 ID:qyfvMh6P >>141 Windowsの売上って四半期で何百億ドルといくらしいけど、 ソシャゲとかってそのぐらいの売上になるの? http://mevius.5ch.net/test/read.cgi/tech/1349191466/142
143: デフォルトの名無しさん [sage] 2024/01/13(土) 15:37:46.38 ID:8Ttuq2mz 四半期の事なんて知らんが 手間考えたらOS売るなんてアホな商売よりはソシャゲのが儲かるだろうね http://mevius.5ch.net/test/read.cgi/tech/1349191466/143
144: デフォルトの名無しさん [sage] 2024/01/16(火) 04:37:40.68 ID:bGp483o/ OS売る商売はLinuxに滅ぼされたからな 早期に見切りをつけてクラウドに移行したMSは先見の明がある http://mevius.5ch.net/test/read.cgi/tech/1349191466/144
145: デフォルトの名無しさん [sage] 2024/01/17(水) 19:10:33.33 ID:E+GFYvQx マジかMSはソシャゲ屋になったほうがいいな http://mevius.5ch.net/test/read.cgi/tech/1349191466/145
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s