テストを書いてからリファクタリングするというけれど、
コードの内容によっては、それが現実的に不可能な場合がある。
汚いコードであればあるほど、リファクタリングの前に
テストを書くのは難しくなる。
テストが書けるのは、単機能の関数になっているものだけ。
1000行以上からなる複数の処理を行う関数などテストを先に書くなんてまず不可能。
テストを書くためには、コードの再配置を先にやらなくてはいけない。
コードの順番を変えたりモジュールに分離するなどして、小さな処理にまとめて関数化する。
そこまでやってやっとテストが書ける。
現実的な修正の順番としては
コード再配置 → テストコード記述 → リファクタリング
にならざるをえない。
コード再配置はテストがない状態で行うから非常に神経を使う。
ミスを起こさないような再配置しかやってはいけない。
テストを書いてからリファクタリングなんてのは幻想
2012/10/03(水) 00:24:26.88
2015/11/01(日) 11:24:21.57ID:e7+SbRee
ただのコード整理のことをリファクタリングと呼んでるなら別にそれでもいいけどね
2016/01/21(木) 12:50:33.37ID:FLUZJlG7
ふむ
2016/01/27(水) 22:08:01.75ID:1zcp8qcT
コード整理はリファクタリングの主要な一種だなあ
2016/01/29(金) 01:36:46.48ID:3QXtNRWh
振る舞いが変わってないのを証明出来るならどの手法でもリファクタリングを名乗っていいよ
2016/02/03(水) 18:22:39.26ID:mmJ5x1I8
つまりこの世にリファクタリングは存在しない
100デフォルトの名無しさん
2016/02/07(日) 15:40:59.07ID:Y5xiZodX 部分的には出来る
101デフォルトの名無しさん
2016/02/14(日) 20:20:34.76ID:9UaM9+lc リファクタリングしたらお金貰えますか?
102デフォルトの名無しさん
2016/05/20(金) 20:00:00.76ID:e1TBDqG+ リファクタリングしたらお金もらえる契約だった貰えます
103デフォルトの名無しさん
2016/05/21(土) 12:44:55.03ID:JO+/Ov64 私のリファクタリングおじさんが匿名で銀行にお金を振り込んでくれるよ
104デフォルトの名無しさん
2017/02/28(火) 07:59:14.85ID:K7hLR7oh 俺の全力120%リファクタリングを見せるときが来たようだな
105デフォルトの名無しさん
2018/04/22(日) 21:49:11.75ID:PsQCMKRd フッ、その程度の力で俺のテストファーストを破れると思うなよ
106デフォルトの名無しさん
2018/04/23(月) 13:16:52.06ID:8zXr1SIe107デフォルトの名無しさん
2018/05/23(水) 19:41:33.31ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
VZCU5
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
VZCU5
108デフォルトの名無しさん
2018/07/05(木) 01:50:13.98ID:RfoszcD2 6L4
109デフォルトの名無しさん
2020/01/29(水) 13:51:22.02ID:MZiWsP4Y 修正ついでにリファクタリングしたけど、機能は変えてないからテストしなくて良いよね
110デフォルトの名無しさん
2022/04/22(金) 14:27:10.14ID:+Ag0wcTG てst
111あぼーん
NGNGあぼーん
112デフォルトの名無しさん
2022/06/10(金) 07:54:47.35ID:7BMdU4Yn あっそ
113デフォルトの名無しさん
2023/06/06(火) 22:29:07.67ID:jiKuTUOv >>1
「テストを書く」の意味がわからない。
「テストを書く」の意味がわからない。
114デフォルトの名無しさん
2023/06/28(水) 13:43:55.35ID:BVdlIcNn 漠∞!!!!
列∞!!!!!
廷∞!!!!!!
器∞!!!!!!!
斗∞!!!!!!!!
容∞!!!!!!!!!
寿∞!!!!!!!!!!
非∞!!!!!!!!!!!
列∞!!!!!
廷∞!!!!!!
器∞!!!!!!!
斗∞!!!!!!!!
容∞!!!!!!!!!
寿∞!!!!!!!!!!
非∞!!!!!!!!!!!
115デフォルトの名無しさん
2023/06/28(水) 17:23:02.87ID:ePd0oqZH TDDは設計変更がそうそう起きない場合にしか現実的じゃないわな
外部ツールやらドメインやらの知識が更新されたり、仕様変更が起きると
それに伴う設計変更が起きて、同時にテストも直さなきゃならなくなる
無思慮にテストファーストがいいって言ってるやつは信用ならん
外部ツールやらドメインやらの知識が更新されたり、仕様変更が起きると
それに伴う設計変更が起きて、同時にテストも直さなきゃならなくなる
無思慮にテストファーストがいいって言ってるやつは信用ならん
116デフォルトの名無しさん
2023/06/28(水) 19:07:09.03ID:X+ansWrV 自動テストは無理かも知らんが、
ある程度この種の仕様テストは通すってのは用意しなきゃいかんでしょ。
ある程度この種の仕様テストは通すってのは用意しなきゃいかんでしょ。
117デフォルトの名無しさん
2023/06/28(水) 19:28:23.06ID:ePd0oqZH なんか話が噛み合ってないな
テストを用意するのは当たり前、その上でテストファーストの是非を問うスレじゃないのか
テストを用意するのは当たり前、その上でテストファーストの是非を問うスレじゃないのか
118デフォルトの名無しさん
2023/06/28(水) 22:15:25.11ID:8Nsh461b テスト書いたほうが実装は楽
むしろテストお陰で実装の質を上げられる
リファクタリングも同じ
むしろテストお陰で実装の質を上げられる
リファクタリングも同じ
119デフォルトの名無しさん
2023/06/30(金) 00:06:22.90ID:qUWZqjjs クソ実装に合わせたテストコードなんてリファクタリングしたら無駄になるやろ
120デフォルトの名無しさん
2023/06/30(金) 03:44:05.79ID:oUIG4oIk 最初の実装まではテストいらんよな
・関数Aのテストを書く
・関数Aを書く
・関数Bのテストを書く
・関数Bを書く
・関数Aと関数Bの重複部分を関数Cにリファクタリングするべ
・関数Cのテストを書く
・関数Cを書く
・関数Aのテストを修正←いらんやろ
・関数Aを修正
・関数Bのテストを修正←いらんやろ
・関数Bを修正
・関数Aのテストを書く
・関数Aを書く
・関数Bのテストを書く
・関数Bを書く
・関数Aと関数Bの重複部分を関数Cにリファクタリングするべ
・関数Cのテストを書く
・関数Cを書く
・関数Aのテストを修正←いらんやろ
・関数Aを修正
・関数Bのテストを修正←いらんやろ
・関数Bを修正
121デフォルトの名無しさん
2023/06/30(金) 04:40:09.64ID:7dyjbNOC 実装にはカオス期と安定期があるからカオス期のテストは無駄
安定期に入ったらテストを書け
安定期に入ったらテストを書け
122デフォルトの名無しさん
2023/08/23(水) 00:04:39.70ID:0BjzShXD 「テストを書く」って何?
123デフォルトの名無しさん
2023/08/23(水) 03:12:21.78ID:rNgOhsHc >>122
このスレの文脈ではユニットテストのソースコードを書くという意味では?
このスレの文脈ではユニットテストのソースコードを書くという意味では?
124デフォルトの名無しさん
2023/08/23(水) 04:28:20.13ID:0BjzShXD 仕事だとコーディングのことを「書く」とは言わないからな。
125デフォルトの名無しさん
2023/08/25(金) 01:30:03.89ID:gEfXDtwy そりゃ頭痛が痛いなんて言わないからな
コードを書くとは言う。
コーディング(コードを書くこと)を書くとは言わない
コードを書くとは言う。
コーディング(コードを書くこと)を書くとは言わない
126デフォルトの名無しさん
2023/08/30(水) 15:08:16.42ID:bGhOLdki テスト
127デフォルトの名無しさん
2023/09/20(水) 17:55:14.32ID:99hKkbYU ヽ(*'0'*)ツ ワァオォ!!
128デフォルトの名無しさん
2023/12/06(水) 11:48:46.05ID:oM0gjrfW 全銀システム障害「詳細設計書見落とし」でオーバーフローの痛恨、再発防止なるか
https://xtech.nikkei.com/atcl/nxt/column/18/00001/08680/
やっぱりテスト駆動にしておけば回避出来たよな
https://xtech.nikkei.com/atcl/nxt/column/18/00001/08680/
やっぱりテスト駆動にしておけば回避出来たよな
129デフォルトの名無しさん
2023/12/09(土) 15:17:43.26ID:F2smNVkX >詳細設計書では4種類のテーブルを同時に展開できるだけの作業領域を確保することを求めていたが、プログラマーやレビュアーなどの関係者がいずれもその記述を見落とし、これが上述のオーバーフローを招いたという痛恨のミスだ
>プログラマーやレビュアーなどの関係者がいずれもその記述を見落とし
つまりテスト環境自体が無くてテストしてからって発想が抜け落ちてるのね
>プログラマーやレビュアーなどの関係者がいずれもその記述を見落とし
つまりテスト環境自体が無くてテストしてからって発想が抜け落ちてるのね
130デフォルトの名無しさん
2024/01/02(火) 22:20:43.54ID:3cCPTdjI テストケース作るのがしんどいってケースもあるからいつでもテストファーストが良いってことはないわな。
131デフォルトの名無しさん
2024/01/03(水) 14:18:03.35ID:eQVBZ7Cn テストの有無とテストファーストの是非を混同してるやつがいるが、
おそらく故意にやってるんだろうな
まあ、釣られてるやつほぼおらんけど
おそらく故意にやってるんだろうな
まあ、釣られてるやつほぼおらんけど
132デフォルトの名無しさん
2024/01/04(木) 11:26:57.34ID:iR4GsMlV テストケース作るのがしんどいってテストしないのかよ
顧客のところでバグ炸裂して終了じゃんそんなの
顧客のところでバグ炸裂して終了じゃんそんなの
133デフォルトの名無しさん
2024/01/04(木) 16:14:29.73ID:bd+yebjO まあ実際全銀でバグ炸裂して終了してるしな
NTTデータがケチる所でもないのに客に本番に近いテスト環境も別途必要ですよって説明してないんだろ
NTTデータがケチる所でもないのに客に本番に近いテスト環境も別途必要ですよって説明してないんだろ
134デフォルトの名無しさん
2024/01/05(金) 04:49:34.73ID:xFVV62H3 やっぱりプログラムを書き始める前に
テストプログラムを書いておく
これが最強
テストプログラムを書いておく
これが最強
135デフォルトの名無しさん
2024/01/10(水) 14:29:25.20ID:Pvv0OiRv プログラムを書く時は間違えるがテストコードを書く時は間違えない前提
136デフォルトの名無しさん
2024/01/10(水) 23:00:16.65ID:W4mJO5rQ テストコードを間違えるか否か以前に、テストケースが抜け落ちるか否かもあるしな
全銀の件は抜け落ちてた話だから、テストファーストでやっても抜け落ちてたから一緒
全銀の件は抜け落ちてた話だから、テストファーストでやっても抜け落ちてたから一緒
137デフォルトの名無しさん
2024/01/11(木) 19:24:45.83ID:1WZH2d+B 根本的な解決策としては
複数人でチェックする
ことかなあ
自分ではなかなか間違いに気が付かないし
自分の間違いが自分で気が付かないのは心理学でなんか名前がついていたような気がする
複数人でチェックする
ことかなあ
自分ではなかなか間違いに気が付かないし
自分の間違いが自分で気が付かないのは心理学でなんか名前がついていたような気がする
138デフォルトの名無しさん
2024/01/12(金) 08:10:20.90ID:JglZpZY+ テストコードを間違いなく漏れなく書ける人がいるならその人がプログラムを書いたらいいだけの話
139デフォルトの名無しさん
2024/01/12(金) 21:23:36.19ID:+NlTfLsQ 建築とか機械系ではエラーはほとんど起きないんだけどな
なんでソフトウエアだけ?
ちなみに航空機は安全性を考えていると重くなって飛べなくなるので
安全係数が1を切っていると聞いたが
なんでソフトウエアだけ?
ちなみに航空機は安全性を考えていると重くなって飛べなくなるので
安全係数が1を切っていると聞いたが
140デフォルトの名無しさん
2024/01/13(土) 14:43:18.36ID:qyfvMh6P ライブラリやOSなどの基本ソフトとアプリなどの応用ソフトではまったく状況が違うよ
基本ソフトは大量に配布されて(コピーされて)、頻繁に実行されるので、
最高のエンジニアに作られて、徹底的に検証される(そうされないものは淘汰される)
要するにコスパの問題だよ。1本10万円のゲームで遊びたいかい?
基本ソフトは大量に配布されて(コピーされて)、頻繁に実行されるので、
最高のエンジニアに作られて、徹底的に検証される(そうされないものは淘汰される)
要するにコスパの問題だよ。1本10万円のゲームで遊びたいかい?
141デフォルトの名無しさん
2024/01/13(土) 15:00:13.69ID:vTVsKhAm ソシャゲ課金て月に数十万単位だし
無料のAPEXのスパレジェすら1つにつき5万円だし
10万程度は払うやつなら払うよ
無料のAPEXのスパレジェすら1つにつき5万円だし
10万程度は払うやつなら払うよ
142デフォルトの名無しさん
2024/01/13(土) 15:07:45.36ID:qyfvMh6P143デフォルトの名無しさん
2024/01/13(土) 15:37:46.38ID:8Ttuq2mz 四半期の事なんて知らんが
手間考えたらOS売るなんてアホな商売よりはソシャゲのが儲かるだろうね
手間考えたらOS売るなんてアホな商売よりはソシャゲのが儲かるだろうね
144デフォルトの名無しさん
2024/01/16(火) 04:37:40.68ID:bGp483o/ OS売る商売はLinuxに滅ぼされたからな
早期に見切りをつけてクラウドに移行したMSは先見の明がある
早期に見切りをつけてクラウドに移行したMSは先見の明がある
145デフォルトの名無しさん
2024/01/17(水) 19:10:33.33ID:E+GFYvQx マジかMSはソシャゲ屋になったほうがいいな
レスを投稿する
ニュース
- 【MLB】大谷翔平が「父親リスト」入りで離脱 真美子夫人の出産立ち会いへ [(´?ω?`)知らんがな★]
- 【関税交渉】車の「非関税障壁」緩和検討 政府、米国車の検査簡略化も [蚤の市★]
- 【音楽】バイク事故で…美魔女フルート奏者′ウアナが引退示唆「フルートはもう吹けない...」に心配の声「1日も早い回復を」 [湛然★]
- 【関税交渉】米は貿易赤字・自動車・コメに関心…日本はコメ・大豆の輸入拡大カード用意 [蚤の市★]
- 【芸能】伊集院光、大阪万博めぐる本音 「関東で盛り上がってない。僕の周りで行くっていう人、大げさじゃなくて1人もいない」★3 [冬月記者★]
- 【文科省】博士学生の290万円支給「日本人を基本」で調整 留学生支援も継続 [香味焙煎★]
- ゼレンスキー「8月に大阪の万博に行くからよろしく😁✌」 [583597859]
- Nexco、ETC障害の時の料金を払っていない90万人のクズに通常の3倍の料金を請求へ [333919576]
- 【】日本、いつの間にか『子育て支援大国』になっていたwwwwwwwwwwwwww😲 [312375913]
- 【悲報】おじさんのNGファッション7選がこちらwwもう着る服ないぢゃんwwwwwwwwwwww [253977787]
- 【悲報】「女には理解できないだろうが、男の9割は本能的に電車が好きなの」🐮🚃 [315952236]
- 💩うんちみたいにネちっこい人達のスレ🏡