リファクタリングすると全部テストしろと言ってくるやつの矛盾

■ このスレッドは過去ログ倉庫に格納されています
2018/04/15(日) 13:13:44.63
機能追加や変更した時に、全部テストしてるでしょ?
いつもやってることじゃん
266仕様書無しさん
垢版 |
2018/04/22(日) 15:35:23.66
>>258
ド素人か?
この業界で中規模と言ったら1000行以上、1万行未満のことだ
2018/04/22(日) 15:35:46.27
経験が少ないと、大規模リファクタリングの必要性に直面する状況が想像できないかもしれない
そういう場面も多々あるもんだけどね
268仕様書無しさん
垢版 |
2018/04/22(日) 15:35:59.41
>>259
井の中の蛙と大海の大ウミガメの違いと言えばおわかりになるでしょうか
2018/04/22(日) 15:39:24.39
>>265
うん。だから動きが変わるかもしれないわけでしょ?
それは単なる修正って言えば良いんだよ。
リファクタリングと呼ばなければいい

>>267
> 経験が少ないと、大規模リファクタリングの必要性に直面する状況が想像できないかもしれない
想像してるぞ?

こまめにリファクタリングしなかったから、
ソースコードに限界が来てしまった場合に
大規模リファクタリングになるって言ってるじゃないか
(そういう自体になる前にこまめにリファクタリングしよう)
2018/04/22(日) 15:40:10.62
>>265
そんなのファウラーの本に書いてあるか?
あの基本書の内容を踏襲していない行為をリファクタリングとは呼びませんよ?
2018/04/22(日) 15:40:31.92
>>267
× 経験が少ないと、大規模リファクタリングの必要性に直面する状況が想像できないかもしれない
○ 経験が少ないと、大規模 改修 の必要性に直面する状況が想像できないかもしれない

なんでリファクタリングじゃないものを
リファクタリングって呼ぶんですか?

リファクタリングを単なる改修の意味で使わないでください
2018/04/22(日) 15:41:21.46
>>270
> あの基本書の内容を踏襲していない行為をリファクタリングとは呼びませんよ?

そうですね。基本書の内容を踏襲していない行為は
リファクタリングと呼んではいけません。
ただの改修と言いましょう
2018/04/22(日) 15:42:30.64
なんで改修をリファクタリングって言いたいんだろう?
かっこつけたいのかな?
2018/04/22(日) 15:43:40.96
言葉の定義とかつまらんからもっと益になる話しようぜぇ

グローバル変数(public static 変数も含む)を安全に排除するリファクタリングテクニックについて議論しよう
リファクタリングするときいつもこれだけはスマートに解決できない
リスクを背負って修正するしかなくなる
2018/04/22(日) 15:46:22.63
大勃起リファクタリングと聞いて
2018/04/22(日) 15:49:05.55
>> 271
> なんでリファクタリングじゃないものを
> リファクタリングって呼ぶんですか?

お前にとっての「僕のリファクタリング」なんて知らんがな
2018/04/22(日) 15:54:49.49
動脈から直接リファクタリングを投与した
2018/04/22(日) 15:56:28.91
>>276
俺にとってのとかじゃなくて
リファクタリングの正しい定義だ
ちゃんと調べてこいよ。
単なる改修の意味で使うな
2018/04/22(日) 15:59:46.87
最初に書いたテストがリファクタリングの前後で同様に動くとは限らない
壊れたテストを書き直すのもリファクタリングの一部
2018/04/22(日) 16:02:17.79
>>268
意味不明
2018/04/22(日) 16:06:43.03
>>278
大規模なものは改修で、小規模なものはリファクタリング?
2018/04/22(日) 16:09:52.55
ここまで技術的な話題ゼロwwwマ板は素人しかいないってホントだったのか
2018/04/22(日) 16:10:33.85
>>281
なんでまた曲解するの?
2つの別々の話を混ぜないように

1. 大規模なものも小規模なものも外部的振る舞いが
変わらないようにちゃんとした手順で行って
テストで確認してるならリファクタリング
そうでないなら、単なる改修

2. 大規模リファクタリングが必要になるのは
普段からこまめにリファクタリングしてないから。
普段の改修の中でこまめにリファクタリングしていれば大規模なんて必要ない。
必要になるのは普段からリファクタリングしてなくて、
手遅れ状態になってる証拠。そういうのはあってはだめ
2018/04/22(日) 16:37:26.44
リファクタリングは小まめに行うべきか?
ある程度たまってから行うべきか?

結論:リファクタリングが不要になるように書け!
2018/04/22(日) 16:38:45.75
将来の改修や拡張の方向性がわからないのにんあことできるわけないだろ!
2018/04/22(日) 16:55:29.35
リファクタリングはソースの修正が必要だから行う
つまりソースの修正が必要なくなればいい
データベースでいうところの、UPDATEではなくINSERTになるようにすればいい
つまり、適切な粒度で関数(メソッド)を適切に作成すれば
リファクタリングは不要なのではないか?
例えば、1関数20行という教えはそういう意味も内包しているのではないか?

今までリファクタリングが必要になった場面を思い出して欲しい
やたら長い関数、スコープが不適切な変数、マジックナンバーやあり得ないelseの使い方などがほとんどではないだろうか?
本当にリファクタリングが必要な場面などほぼ無いはずである

もしリファクタリングが必要だというのであれば、それは清書を後回しにして適当に書きなぐることを優先した結果であり
そもそも「ソースを書いていない」わけである
漫画であればペン入れをしていない下書きやネームの状態、ガンプラでいえば接着剤を使わず仮組をした状態だ
もちろん、「正しく作る」ことよりも「とりあえず動く」ものを何よりも時間を優先して作ることが至上命題であることもあるだろう

それでも書道の名家は一発で何度でも美しい書体を生み出す
プログラマであっても一発で完全に美しいソースコードを生み出すスキルは必要なのではないだろうか?

以上のことから、「リファクタリングが不要になるように書け!」というのは正しいと言える
287仕様書無しさん
垢版 |
2018/04/22(日) 16:58:10.99
>>280
意味明瞭
2018/04/22(日) 16:58:35.06
>>286
あー、いや、テストファーストでは
最初にテストコードを書いて、
テストに通る最低限のコードを書いて
そのあとリファクタリングして
完成だから

つまりあんたの言う「ソースを書いている」状態にするまでに
リファクタリングをする。

ちょっと勉強し直してきて
2018/04/22(日) 17:02:47.45
もちろんテストファーストをしないならリファクタリングはしないってことじゃないよ。
先に実装しても、その後テストコードを書いて、それが通るのを維持しながら
ソースコードを読みやすくする。これもリファクタリング
290仕様書無しさん
垢版 |
2018/04/22(日) 17:07:13.80
テストファーストはリファクタリングじゃないですよ
291仕様書無しさん
垢版 |
2018/04/22(日) 17:08:24.89
テストファーストはテストを先に書くってだけで
リファクタリングを内包するわけじゃないですよ
292仕様書無しさん
垢版 |
2018/04/22(日) 17:08:52.51
テストファーストとリファクタリングは独立した概念です
2018/04/22(日) 17:08:57.78
>>290
テストファーストの手順の中に含まれるものだって話をしてるんだから
テストファースト=リファクタリングなわけないでしょw
お前の日本語の理解力の問題だ
2018/04/22(日) 17:10:15.59
http://www.itmedia.co.jp/im/articles/0602/24/news137.html

>  実行したテストコードが通らなければ『レッド』という状態になり、
> 実装コードを修正する。一方、テストが通った状態は『グリーン』と呼ぶ。
> ただしテストが通っても、可読性を考えてコードをきれいに整えることも多い。
> テストファーストではこの修正作業を『リファクタリング』と呼んでいる。

へー、このスレ勉強になるな
295仕様書無しさん
垢版 |
2018/04/22(日) 17:11:11.12
個人的にそういうやり方をやってるってだけで
テストファーストとリファクタリングは根本的に異なり
完全に独立して成り立つものですよ
296仕様書無しさん
垢版 |
2018/04/22(日) 17:12:42.21
テストファーストにリファクタリングは必要ありません
むしろテストファーストの目的を没却する悪手と言っていいでしょう
2018/04/22(日) 17:14:01.77
>>287
意味不明
298仕様書無しさん
垢版 |
2018/04/22(日) 17:14:35.76
テストファーストでリファクタリングが必要になるなら
テストの粒度が間違っている証拠です、にわかがよくやります
2018/04/22(日) 17:14:49.44
>>295
そりゃそうだろw
だからこそ、テストファーストしてから
リファクタリングするって話になる
2018/04/22(日) 17:14:49.71
>>297
意味明瞭
2018/04/22(日) 17:15:28.25
>>299
ではテストファーストとリファクタリングを一緒に語るのをやめるべきです
2018/04/22(日) 17:15:31.11
>>298
でも、ぐぐったけど、そんな事ないてないよ
ニワカはお前では?
2018/04/22(日) 17:15:38.76
テストしないでリファクタリングおっかない
304仕様書無しさん
垢版 |
2018/04/22(日) 17:16:22.76
>>302
ググらないとわからないならお前がにわかです
2018/04/22(日) 17:16:56.81
>>300
意味不明
306仕様書無しさん
垢版 |
2018/04/22(日) 17:17:37.22
>>305
意味明瞭
2018/04/22(日) 17:18:09.05
>>301
はい。だからリファクタリングだけでも話をしています。

>>289でもそう書いたでしょう?
> もちろんテストファーストをしないならリファクタリングはしないってことじゃないよ。

テストファースト(開発の前にテストを書く)をしなくても、
リファクタリングは独立したものなので、
開発→テストコードを書く→リファクタリングという手順で、
リファクタリングをすることがあります。

開発の前にテストコードを書いてないのでこれはテストファーストではありません。
2018/04/22(日) 17:18:46.64
>>304
でもお前はググってないで、自分の意見を主張しているわけだよね?
そしてそれが世間で言われてないことがバレたよね?
2018/04/22(日) 17:18:56.98
>>307
はいじゃないが
2018/04/22(日) 17:19:25.47
>>308
バレてません、グーグルがなんでも知ってると思うな
2018/04/22(日) 17:19:51.01
グーグルを神か何かだと思ってるんじゃなかろうかね
2018/04/22(日) 17:20:34.82
グーグルは知らないが、俺は知ってる。
情報の出どころは教えられないが
俺を信じてくれるよね?
2018/04/22(日) 17:20:52.25
>>312
はい
2018/04/22(日) 17:22:08.32
ママぐらいは信じてくれるんじゃねーの?w
2018/04/22(日) 17:26:27.77
>>306
意味不明
316仕様書無しさん
垢版 |
2018/04/22(日) 17:29:39.31
>>315
意味明瞭
2018/04/22(日) 17:30:08.17
>>316
意味不明
318仕様書無しさん
垢版 |
2018/04/22(日) 17:30:32.03
>>317
意味明瞭
319仕様書無しさん
垢版 |
2018/04/22(日) 17:31:10.19
リファクタリングの定義がないから仕方ない。

コードをいじってばかりのやつは、手段と目的が逆転している。
2018/04/22(日) 17:31:43.76
>>318
意味不明
321仕様書無しさん
垢版 |
2018/04/22(日) 17:32:16.13
>>320
意味明瞭
2018/04/22(日) 17:32:34.25
>>318
お前「意味明瞭」でググってみろwww
2018/04/22(日) 17:32:48.05
>>321
意味不明
2018/04/22(日) 17:33:03.99
意味明瞭ってなんだよ
2018/04/22(日) 17:33:33.32
>>324
日本人じゃないんだろ
326仕様書無しさん
垢版 |
2018/04/22(日) 17:33:40.70
>>323
意味明瞭
2018/04/22(日) 17:34:51.48
>>319
> コードをいじってばかりのやつは、手段と目的が逆転している。

いや、だからリファクタリングだけやるのは論外って言ってるんだが?
目的は機能追加などの改修で、その手段(の一つ)がリファクタリング

目的を実行する時にこまめにやる手段で、手段そのものが目的になってるような
リファクタリングだけの作業とか大規模リファクタリングはおかしいって
言ってるんだが?
328仕様書無しさん
垢版 |
2018/04/22(日) 17:35:16.48
>>325
意味明瞭をわからない人間の方がブラジル人じゃないだろ
329仕様書無しさん
垢版 |
2018/04/22(日) 17:35:49.03
>>324
意味がはっきりわかること
2018/04/22(日) 17:35:50.61
>>326
意味不明
2018/04/22(日) 17:36:29.45
>>329
日本人なら普通そんな使い方しない
2018/04/22(日) 17:36:45.31
>>328
ブラジル人ではないだろうな
2018/04/22(日) 17:38:05.31
意味明瞭ワロタwww
2018/04/22(日) 17:38:29.33
>>256
で、これの理由は?
335仕様書無しさん
垢版 |
2018/04/22(日) 17:38:31.57
>>331
お前は普通じゃないし日本人のこと1ミリも理解してない
史実に登場する最初の天皇の名前を言ってみろ
2018/04/22(日) 17:38:58.60
>>335
ググってみろ
337仕様書無しさん
垢版 |
2018/04/22(日) 17:39:18.98
>>334
>>268
338仕様書無しさん
垢版 |
2018/04/22(日) 17:39:54.17
>>336
はい知らないのな、お前日本人のこと1ミリも理解できてない
2018/04/22(日) 17:40:09.54
>>335
「意味不明」と「意味明瞭」がちゃんと対照的に使われている例を教えてよ先生
2018/04/22(日) 17:40:23.74
>>338
キチガイおつ
2018/04/22(日) 17:40:42.04
>>337
それ理由になってねーよ
2018/04/22(日) 17:40:56.42
>>338
ググってみろ
2018/04/22(日) 17:41:12.26
>>338
在日おつ
2018/04/22(日) 17:41:18.43
荒らしが飽きたら続きのレスをお願いしますよ
2018/04/22(日) 17:42:42.76
>>335
うっわ
2018/04/22(日) 17:43:39.06
ただ、普段からリファクタリングしてたら依頼がきたときに素早く対応できるよね
2018/04/22(日) 17:43:59.08
>>335
キチガイ
348仕様書無しさん
垢版 |
2018/04/22(日) 17:44:11.09
>>339
「意味不明」とは意味がはっきりしないという意味です
「意味明瞭」とは意味がはっきりしてるという意味です
ゆえにこれらの言葉は対称の関係にあるわけです
2018/04/22(日) 17:44:39.53
>>335
統合失調症ですねわかります
2018/04/22(日) 17:44:56.13
>>348
ソース
2018/04/22(日) 17:45:59.20
>>348
対称と対照の違いもわからないカスがこちら
2018/04/22(日) 17:47:23.36
>>348
世の中一般の使用例あげろよ、あるんならな
353仕様書無しさん
垢版 |
2018/04/22(日) 17:50:04.15
>>351
対照は文脈的に大間違いだったので訂正しました
わかってないのはお前です、お前がカス
2018/04/22(日) 17:50:27.92
>>353
やっぱ日本人じゃないな
2018/04/22(日) 17:50:44.06
>>353
なぜ間違いなの?
356仕様書無しさん
垢版 |
2018/04/22(日) 17:52:10.58
>>352
意味がはっきりわかるときに、意味明瞭と言います
これが一般的な使用例です

あなたはただの世間知らずというか無知です
無知な人間は自分が賢いと思いこむ傾向にあることが
認知心理学の研究の結果明らかになっています

あなたは自分が無知であるがゆえに意味明瞭という
自分が知らない言葉を使いこなしている僕に嫉妬しています
無知を自覚してください
2018/04/22(日) 17:52:55.49
>>356
そう言われている具体的な例が未だに出てこない点でアレ
358仕様書無しさん
垢版 |
2018/04/22(日) 17:52:56.99
>>355
対照ではないからです
なぜならば対称しているからです
対照関係と対象関係は明らかに異なります
2018/04/22(日) 17:53:20.71
>>356
だからその一般的に使用されている例を出してみろよ
2018/04/22(日) 17:53:46.10
>>358
説明できていないwww
2018/04/22(日) 17:54:00.32
>>358
これ統合失調症やろ
2018/04/22(日) 17:54:30.05
>>358
対象も出てきたwww
363仕様書無しさん
垢版 |
2018/04/22(日) 17:54:30.49
>>357
それでは具体的な例を上げます

意味がはっきりわかったときに
意味明瞭と言います

この上なく具体的で一般的な例を提示しました
あなたはそれでもわからないと言いはるでしょう
しかし、それは自分が知らない事柄が存在することを認められないだけです
無知であるがゆえにあなたのプライドはとても高いのです
2018/04/22(日) 17:54:57.96
>>363
お前の頭の中を書き出してもそれは一般的とは言わない
365仕様書無しさん
垢版 |
2018/04/22(日) 17:54:58.76
>>362
ただの書き間違いですよ、残念でしたね
2018/04/22(日) 17:55:15.31
>>358
そら対象は違うやろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況