テストも書かないでリファクタリングとかうけるw
まずな、リファクタリングでは機能追加・修正は行わない。
動作はまったく同じでコードをきれいに書き換えること。
書き換えるといっても、これなら同じ動きだろ?って推測でやってはいけない。
まずテストを書く。ユニットテストをできるように、
単一のクラスでインスタンスを作る。
汚いコードなのだからたいていは依存関係のせいで単一ではクラスが生成できない
それを生成するために、クラスの動作を書き換える。
といっても元のコードは修正しない。継承やプリプロセッサを使って
依存関係を断ち切るために既存のコードを上書きする。
どうしてもそれが不可能な場合には、決められた手順で最小のコード修正を行う
そうやって既存のクラスのユニットテストを行う。
それでやっとリファクタリングが行える。
既存のクラスのユニットテストを通るように新たなコードに修正、
もしくは新規作成して置き換える。
この手順と考え方を守ってないのはリファクタリングではない。
で?
探検
リファクタリングをただのコード修正と思ってる人へ
■ このスレッドは過去ログ倉庫に格納されています
2010/05/29(土) 17:25:56
644デフォルトの名無しさん
2014/10/13(月) 21:27:10.38ID:mV3fqIh9 >>643
ではリファクタリグしたとしても汚いコードは汚いままなのですね
ではリファクタリグしたとしても汚いコードは汚いままなのですね
645デフォルトの名無しさん
2014/10/13(月) 22:25:07.42ID:0J6BIdC+646デフォルトの名無しさん
2014/10/13(月) 22:41:00.86ID:mV3fqIh9647デフォルトの名無しさん
2014/10/13(月) 22:43:13.35ID:zulUt3IX >>646
まず何が綺麗で何が汚いかを勉強することだね。
それを知らないことにはどうしようもない。
逆に知ってしまえば、具体的な質問ができるようになるよ
汚い××というコードを、綺麗な○○に変化させるには
どうしたらいいでしょうか?って
そういう質問なら答えがちゃんと言える。
君の今のレベルの質問は曖昧すぎて答えがない。
まず何が綺麗で何が汚いかを勉強することだね。
それを知らないことにはどうしようもない。
逆に知ってしまえば、具体的な質問ができるようになるよ
汚い××というコードを、綺麗な○○に変化させるには
どうしたらいいでしょうか?って
そういう質問なら答えがちゃんと言える。
君の今のレベルの質問は曖昧すぎて答えがない。
648デフォルトの名無しさん
2014/11/22(土) 11:07:28.63ID:jhiCG8Ku649デフォルトの名無しさん
2014/11/22(土) 16:04:31.14ID:6qlI/h48650デフォルトの名無しさん
2014/11/25(火) 12:34:50.30ID:aVHf4ing 世の中なんでも使い捨てで楽な方に向かってるのに
プログラミングの世界は古いものを大事に使いたがる不思議
怠惰なフログラマこそ率先してコードを使い捨てにすべきじゃね?
プログラミングの世界は古いものを大事に使いたがる不思議
怠惰なフログラマこそ率先してコードを使い捨てにすべきじゃね?
651デフォルトの名無しさん
2014/11/25(火) 23:55:42.35ID:n1duvf0w >>650
使い捨てる理由の大半はどんなにうまく保存しようとしても劣化し続けるから。
ソフトウェアはそういう物理的制約から書いたものはずっと同じまま残り続ける。
うまくバックアップや環境が残りさえすれば半永久的に使い続けることが出来る
わけだから、怠惰であればあるほどそういう資産を積み上げていくんだよ。
使い捨てる理由の大半はどんなにうまく保存しようとしても劣化し続けるから。
ソフトウェアはそういう物理的制約から書いたものはずっと同じまま残り続ける。
うまくバックアップや環境が残りさえすれば半永久的に使い続けることが出来る
わけだから、怠惰であればあるほどそういう資産を積み上げていくんだよ。
652デフォルトの名無しさん
2014/11/26(水) 12:34:55.88ID:1UftDcOY >>651
バカだな劣化するからリファクタリングとかいう下らない事が流行るんだぞ
バカだな劣化するからリファクタリングとかいう下らない事が流行るんだぞ
653デフォルトの名無しさん
2014/11/26(水) 19:48:43.25ID:0BkZoqqN 再利用って考え方がそもそもコストが高いんだよ
もんじゅとか例に挙げなくてもリサイクルって金掛かるだけで
利権で儲けるしかない仕組みだって判るよね
もんじゅとか例に挙げなくてもリサイクルって金掛かるだけで
利権で儲けるしかない仕組みだって判るよね
654デフォルトの名無しさん
2014/11/27(木) 00:55:26.29ID:dibuY+0s 再利用のコストに関しては単純に何回再利用するかで変わってくるから、
コストの高い再利用をしているお前が悪いんじゃないのとしか言えない。
リファクタリングも同じで、2度と手を入れないような部分や新規プロジェクトを
渡り歩くような人には不要なもの。 ただ昨今のアジャイル開発とか呼ばれている
ものだと、ある程度の期間は修正や追加が必要になってくる。 無計画に接ぎ木を
してわけの分からないキメラを作るより、ある程度剪定して理解できる範疇に
修める必要があるよねっていうのがリファクタリング。
コストの高い再利用をしているお前が悪いんじゃないのとしか言えない。
リファクタリングも同じで、2度と手を入れないような部分や新規プロジェクトを
渡り歩くような人には不要なもの。 ただ昨今のアジャイル開発とか呼ばれている
ものだと、ある程度の期間は修正や追加が必要になってくる。 無計画に接ぎ木を
してわけの分からないキメラを作るより、ある程度剪定して理解できる範疇に
修める必要があるよねっていうのがリファクタリング。
655デフォルトの名無しさん
2014/11/27(木) 12:34:12.35ID:jH/Xs+Kz656デフォルトの名無しさん
2014/11/27(木) 12:41:38.96ID:r+bsdp9/ >>655
> ソフトウェアの再利用もその都度コストがかかるんだが?
> 普通は回数に比例してコストが増加するぞ
再利用するために何らかの変更が必要なら、そのときだけコストがかかるが、
以降はコストかからんだろ。
> ソフトウェアの再利用もその都度コストがかかるんだが?
> 普通は回数に比例してコストが増加するぞ
再利用するために何らかの変更が必要なら、そのときだけコストがかかるが、
以降はコストかからんだろ。
657デフォルトの名無しさん
2014/11/27(木) 23:29:56.27ID:kUiumU8R 再利用前提で作ろうとしてる時点で余計なコトスがかかっとるわい
658デフォルトの名無しさん
2014/11/28(金) 02:38:41.57ID:LrjKc3Ws 古くなった原発の再利用
659デフォルトの名無しさん
2014/11/28(金) 04:18:59.87ID:MN0ISYZx 再利用性や拡張性というのは、将来のことだから仕様外。
仕様外だからプログラミングの対象外。
おわり。
仕様外だからプログラミングの対象外。
おわり。
660デフォルトの名無しさん
2014/11/28(金) 07:48:17.97ID:IEXuWLi+ 再利用と考えるからいけない。
モジュール化。
適切なモジュール化は、再利用出来るだけじゃなく、
複雑度も減ってバグも少なくなる。
適切なモジュール化が出来ない奴が
再利用にコストがかかるとか
コードが再利用できないとか言う。
モジュール化。
適切なモジュール化は、再利用出来るだけじゃなく、
複雑度も減ってバグも少なくなる。
適切なモジュール化が出来ない奴が
再利用にコストがかかるとか
コードが再利用できないとか言う。
661デフォルトの名無しさん
2014/11/28(金) 12:44:59.78ID:X4M4SbHd >>660
それは再利用じゃないよ
機能を小さく保つ事で、本来の目的である一次利用出来る範囲が広がるだけだ
それを便宜的に「再利用しやすい」などと表現してる訳だ
ソフトウェア本来の目的とは異なる本当の意味での再利用にはコストがかかるんだよ
それは再利用じゃないよ
機能を小さく保つ事で、本来の目的である一次利用出来る範囲が広がるだけだ
それを便宜的に「再利用しやすい」などと表現してる訳だ
ソフトウェア本来の目的とは異なる本当の意味での再利用にはコストがかかるんだよ
662デフォルトの名無しさん
2014/11/28(金) 17:41:36.95ID:03S1h8mH663デフォルトの名無しさん
2014/11/29(土) 01:59:23.82ID:TbFyYdBX664デフォルトの名無しさん
2014/11/29(土) 13:13:20.77ID:U5ivpV2C 再利用じゃなくて流用と言えばいいのに
665デフォルトの名無しさん
2014/11/29(土) 14:17:24.97ID:v2v5Wnkr 全く修正しないで使うのが再利用。
コピーして修正して使うのが流用
流用をすると、AとA'というコードが生まれなんで二つに分かれてるの?
違いはなんんあの?と結局両方を読まないといけなくなる。
流用するたびに読むべきコードがどんどん増えていく。
はてに一つを修正するともう片方の修正を忘れるとか。
なので全く修正しないで使う「再利用」でないと意味が無い。
全く修正しないで使えるのだからコピーする必要はなくなる
コピーして修正して使うのが流用
流用をすると、AとA'というコードが生まれなんで二つに分かれてるの?
違いはなんんあの?と結局両方を読まないといけなくなる。
流用するたびに読むべきコードがどんどん増えていく。
はてに一つを修正するともう片方の修正を忘れるとか。
なので全く修正しないで使う「再利用」でないと意味が無い。
全く修正しないで使えるのだからコピーする必要はなくなる
666デフォルトの名無しさん
2014/11/29(土) 14:46:23.56ID:A4nuaoXO 流用元から流用先がどこにどれだけあるかは基本的に分からない。
流用元に何かバグがあって修正する必要があった場合に論理的に考えると
流用先も直しておいた方がいいor直す必要がある。 ただ流用先を全て特定
することは難しく、特に流用先で動くように変数名とか変えてあると確実に
漏れる。バグじゃなくても何か修正追加したいと思った時の事を考えると
コピペをばらまくより関数で再利用するほうがいいよねってなる。
ただ人間は欲深いもので1つの関数にあれもこれも詰め込んで破綻させる
奴が出てきたりする。こういうのを見て、関数なんて作らなくてコピペでいい
だろって奴が出てきて無限ループする。
流用元に何かバグがあって修正する必要があった場合に論理的に考えると
流用先も直しておいた方がいいor直す必要がある。 ただ流用先を全て特定
することは難しく、特に流用先で動くように変数名とか変えてあると確実に
漏れる。バグじゃなくても何か修正追加したいと思った時の事を考えると
コピペをばらまくより関数で再利用するほうがいいよねってなる。
ただ人間は欲深いもので1つの関数にあれもこれも詰め込んで破綻させる
奴が出てきたりする。こういうのを見て、関数なんて作らなくてコピペでいい
だろって奴が出てきて無限ループする。
667デフォルトの名無しさん
2014/11/29(土) 22:16:12.25ID:UEas1JmU 頑張って同じ機能がすでにあるか探して、
あったらあまりいいコードじゃなくても正しく仕様を満たすからそれ使って
散々気をつけてんのに誰かが変更しやがる
あったらあまりいいコードじゃなくても正しく仕様を満たすからそれ使って
散々気をつけてんのに誰かが変更しやがる
668デフォルトの名無しさん
2014/11/30(日) 12:24:33.02ID:NxMP0P1A リファクタリングと言う名の正義
669デフォルトの名無しさん
2014/12/05(金) 19:01:54.53ID:cszTTiF/ >>668
同意、正義を振りかざす曲者
同意、正義を振りかざす曲者
670デフォルトの名無しさん
2014/12/21(日) 11:54:37.04ID:LOCxTeYe >>661,660
>ソフトウェア本来の目的とは異なる本当の意味での再利用にはコストがかかるんだよ
アプリ内でのモジュールの共通化(=アプリに特化したフレームワーク、ライブラリ
の抽出)と、どんなプロジェクトでも使えるようにフレームワークやライブラリーを
汎用化するのは似て非なるものだと思う。
>ソフトウェア本来の目的とは異なる本当の意味での再利用にはコストがかかるんだよ
アプリ内でのモジュールの共通化(=アプリに特化したフレームワーク、ライブラリ
の抽出)と、どんなプロジェクトでも使えるようにフレームワークやライブラリーを
汎用化するのは似て非なるものだと思う。
671デフォルトの名無しさん
2015/02/15(日) 22:12:39.01ID:wyXhgSeE >>1-1000
テスト
テスト
672デフォルトの名無しさん
2016/03/27(日) 21:55:32.43ID:N7IGtcj3 どのタイミングでやったら工数に影響を与えずにできるの?
673デフォルトの名無しさん
2016/09/10(土) 20:12:17.64ID:/nLYt7vC みんな、言い負かされないようにリファクタリングを定義してるから、本当の目的がなんなのかぼやけちゃってるよね。
保守性(機能変更のし易さ)と速度の向上
リファクタリングの目的はこれでしょ。
それが必要ならリファクタリングすればいいし、将来的な機能変更もなく速度にもとくに問題がないなのら、どんなに汚いコードであっても下手にいじる必要はないよね。
むろん、個人で作った(使ってる)プログラムならリファクタリングするかしないかはその人の勝手だけど。
保守性(機能変更のし易さ)と速度の向上
リファクタリングの目的はこれでしょ。
それが必要ならリファクタリングすればいいし、将来的な機能変更もなく速度にもとくに問題がないなのら、どんなに汚いコードであっても下手にいじる必要はないよね。
むろん、個人で作った(使ってる)プログラムならリファクタリングするかしないかはその人の勝手だけど。
674デフォルトの名無しさん
2016/11/02(水) 19:22:35.91ID:5cFgMElw >>673
次の変更がきてから変更すればいいじゃない?
次の変更がきてから変更すればいいじゃない?
675デフォルトの名無しさん
2016/11/11(金) 18:20:08.17ID:cgCFsvxz なるほど
676デフォルトの名無しさん
2017/02/06(月) 05:50:15.98ID:ZR9n4VuA 大抵の趣味人はリファクタリングなんかせずに垂れ流しだろ
677デフォルトの名無しさん
2017/02/06(月) 06:14:33.50ID:gKoTGA+M 趣味としてのリファクタリングも結構面白いけど
678デフォルトの名無しさん
2017/02/06(月) 06:41:48.30ID:gKoTGA+M あとwikiから
"Code refactoring is the process of restructuring existing computer code―changing the factoring―without changing its external behavior. "
リファクタリングとは既存のコードを再構成する工程であり、
そのコードの外的な振る舞いを変えずに
問題の細分化(factoringを意訳)を変えることである。
だってさ、こんなスレよりよっぽどわかりやすいや
"Code refactoring is the process of restructuring existing computer code―changing the factoring―without changing its external behavior. "
リファクタリングとは既存のコードを再構成する工程であり、
そのコードの外的な振る舞いを変えずに
問題の細分化(factoringを意訳)を変えることである。
だってさ、こんなスレよりよっぽどわかりやすいや
679デフォルトの名無しさん
2017/02/06(月) 06:56:02.14ID:cswrm9tC リファクタリングにはユニットテスト必須だよな
680デフォルトの名無しさん
2017/02/06(月) 12:26:12.33ID:I8OzMN90 ユニットが再編成されたコードの外的な振る舞いをテストする
という意味ではユニットテストはその目的を果たしてないけどな
という意味ではユニットテストはその目的を果たしてないけどな
681デフォルトの名無しさん
2017/02/06(月) 13:37:16.68ID:2jscAFeG うちの会社の糞プロジェクトはリファクタしてことでバグ生んで大炎上してたな
682デフォルトの名無しさん
2017/02/06(月) 16:24:54.25ID:gWijZw93 >>680
外的な振る舞いを変えないのがリファクタリングだろ
外的な振る舞いを変えないのがリファクタリングだろ
683デフォルトの名無しさん
2017/02/06(月) 20:52:46.36ID:De1q4r3Z >>682
なんだ?だからテストしなくても良いとか言いたいのか?
なんだ?だからテストしなくても良いとか言いたいのか?
684デフォルトの名無しさん
2017/02/06(月) 21:26:39.16ID:cswrm9tC685デフォルトの名無しさん
2017/02/06(月) 21:43:37.79ID:De1q4r3Z686デフォルトの名無しさん
2017/02/06(月) 22:00:46.99ID:w4i0A8ue 分子構造が再構築された全ての細胞の働きがもとそれと1つも変わらないならそれは再構築前と同じ生物になるのではないか
という理屈
という理屈
687デフォルトの名無しさん
2017/02/06(月) 22:00:51.21ID:eyaDYQgE688デフォルトの名無しさん
2017/02/07(火) 11:38:03.93ID:pecoNgwz >>687
設計に近いレベルの変更というのがどういうものを指すのか良くわからんが、E2Eテストやシステムテストが必要になるコード変更はリファクタリングとは言わないでしょ。
設計に近いレベルの変更というのがどういうものを指すのか良くわからんが、E2Eテストやシステムテストが必要になるコード変更はリファクタリングとは言わないでしょ。
689デフォルトの名無しさん
2017/02/07(火) 11:39:08.61ID:qLX8GhSK えっ!?
690デフォルトの名無しさん
2017/02/07(火) 12:21:09.75ID:TOEOKA4e >>688
むしろその規模のリファクタリングでなければコーダーのオナニー以上の意味がないくらいなのだが
むしろその規模のリファクタリングでなければコーダーのオナニー以上の意味がないくらいなのだが
691デフォルトの名無しさん
2017/02/07(火) 13:06:50.95ID:pecoNgwz >>690
規模の話はしていない。
1箇所数行のリファクタリングであろうが、1万箇所数万行のリファクタリングであろうが話は同じ。
E2Eテストやシステムテストでなければテストできないようなリファクタリングって、具体的にどんなものなんだ?
規模の話はしていない。
1箇所数行のリファクタリングであろうが、1万箇所数万行のリファクタリングであろうが話は同じ。
E2Eテストやシステムテストでなければテストできないようなリファクタリングって、具体的にどんなものなんだ?
692デフォルトの名無しさん
2017/02/07(火) 15:04:10.93ID:hq/hh9Cr >>691
リファクタリングで効率が良くなったとして、ユニットテストレベルで勝手にリリースして
本当は他のシステムで必要な協調動作パラメータの再調整が必要だったり
想定してたバッファがパンクする可能性とか想像できんの?
そもそもリファクタリング単体の案件なんてまず発生しないし
他の案件の一部にねじ込むってパターンがほとんどだから結局テストは全工程やる事になるけど
リファクタリングで効率が良くなったとして、ユニットテストレベルで勝手にリリースして
本当は他のシステムで必要な協調動作パラメータの再調整が必要だったり
想定してたバッファがパンクする可能性とか想像できんの?
そもそもリファクタリング単体の案件なんてまず発生しないし
他の案件の一部にねじ込むってパターンがほとんどだから結局テストは全工程やる事になるけど
693デフォルトの名無しさん
2017/02/07(火) 15:27:04.15ID:pecoNgwz694デフォルトの名無しさん
2017/02/07(火) 15:28:33.61ID:pecoNgwz695デフォルトの名無しさん
2017/02/07(火) 16:00:21.23ID:WNm+xswo >>692 のレベルが低すぎて笑う
696デフォルトの名無しさん
2017/02/07(火) 18:13:12.04ID:hq/hh9Cr レベル低くて結構だが
要件から漏れた設計なんて後からいくらでも見つかるのが現実
最初から設計や実装が完璧ならリリース後のコードに手を付けようなんて考えすら出てこないだろ
要件から漏れた設計なんて後からいくらでも見つかるのが現実
最初から設計や実装が完璧ならリリース後のコードに手を付けようなんて考えすら出てこないだろ
697デフォルトの名無しさん
2017/02/07(火) 18:17:09.92ID:i748zAYA ID:pecoNgwzがすごい小さい世界で生きていることだけはよくわかる
698デフォルトの名無しさん
2017/02/07(火) 20:26:46.11ID:hbaz0JGp スレタイ通りの人達
699デフォルトの名無しさん
2017/02/07(火) 21:49:17.94ID:6yEMM6pR >>691
> 1箇所数行のリファクタリングであろうが
君はこれで何がリファクターされると考えているのかね?
既存のコードを君好みのノーテーションに変える事をリファクタリングとは言わないのだよ
リファクタリングとはただのコード修正とは違うという意味
君分かってないよね
> 1箇所数行のリファクタリングであろうが
君はこれで何がリファクターされると考えているのかね?
既存のコードを君好みのノーテーションに変える事をリファクタリングとは言わないのだよ
リファクタリングとはただのコード修正とは違うという意味
君分かってないよね
700デフォルトの名無しさん
2017/02/07(火) 21:55:16.30ID:WNm+xswo っていう勘違いをここまで堂々と話してるところが2chだなぁと感じる
701デフォルトの名無しさん
2017/02/07(火) 21:58:23.39ID:S1oxUZhq702デフォルトの名無しさん
2017/02/07(火) 22:06:09.85ID:S1oxUZhq >>692
> リファクタリングで効率が良くなったとして、ユニットテストレベルで勝手にリリースして
> 本当は他のシステムで必要な協調動作パラメータの再調整が必要だったり
> 想定してたバッファがパンクする可能性とか想像できんの?
これリファクタリングと全く関係ないよね?
機能追加で便利になったとして、ユニットテストレベルで勝手にリリースして
本当は他のシステムで必要な協調動作パラメータの再調整が必要だったり
想定してたバッファがパンクする可能性とか想像できんの?
> リファクタリングで効率が良くなったとして、ユニットテストレベルで勝手にリリースして
> 本当は他のシステムで必要な協調動作パラメータの再調整が必要だったり
> 想定してたバッファがパンクする可能性とか想像できんの?
これリファクタリングと全く関係ないよね?
機能追加で便利になったとして、ユニットテストレベルで勝手にリリースして
本当は他のシステムで必要な協調動作パラメータの再調整が必要だったり
想定してたバッファがパンクする可能性とか想像できんの?
703デフォルトの名無しさん
2017/02/07(火) 22:10:27.76ID:WNm+xswo704デフォルトの名無しさん
2017/02/07(火) 22:11:07.79ID:S1oxUZhq >>692
> そもそもリファクタリング単体の案件なんてまず発生しないし
当たり前。何かの修正があるときに
適切な形に変えるのがリファクタリング
「何かの修正」が加わる前の時点での適切な設計と
「何かの修正」が加わった後の適切な設計は必ずしも同じではない
「何かの修正」を加えるときは、もし最初から「何かの修正」が存在したと
仮定した時の適切な設計も同時に実現しなければいけない
修正するたびに適切な設計から離れていく、修正するたびに
壊していくようなやり方は責任あるプロの仕事とはいえない
> 他の案件の一部にねじ込むってパターンがほとんどだから結局テストは全工程やる事になるけど
結局テストは全行程やるんだから、修正のたびにリファクタリングを加えてなんのもんだもない
> そもそもリファクタリング単体の案件なんてまず発生しないし
当たり前。何かの修正があるときに
適切な形に変えるのがリファクタリング
「何かの修正」が加わる前の時点での適切な設計と
「何かの修正」が加わった後の適切な設計は必ずしも同じではない
「何かの修正」を加えるときは、もし最初から「何かの修正」が存在したと
仮定した時の適切な設計も同時に実現しなければいけない
修正するたびに適切な設計から離れていく、修正するたびに
壊していくようなやり方は責任あるプロの仕事とはいえない
> 他の案件の一部にねじ込むってパターンがほとんどだから結局テストは全工程やる事になるけど
結局テストは全行程やるんだから、修正のたびにリファクタリングを加えてなんのもんだもない
705デフォルトの名無しさん
2017/02/07(火) 22:11:57.21ID:S1oxUZhq706デフォルトの名無しさん
2017/02/07(火) 22:21:19.34ID:NKjx6bYj >>705
実行ファイル一つならそうである可能性もあるけど、ライブラリだったらシステム全体ではないよね。言語関係ないとはそういうこと。
実行ファイル一つならそうである可能性もあるけど、ライブラリだったらシステム全体ではないよね。言語関係ないとはそういうこと。
707デフォルトの名無しさん
2017/02/07(火) 22:24:10.12ID:NKjx6bYj 勘違いさせたならすまんが、俺は別にリファクタリングにシステムテストとかが必要ないなんて思ってない。その一つとは別人。
708デフォルトの名無しさん
2017/02/07(火) 22:44:43.58ID:K2oda13o リファクタにE2Eテストがいらないというのはある意味ただしいんだよ
アジャイルにおけるリファクタなんかがまさにそう
自動テストありきでイテレーションに組み込まれる
ただリファクタにも色々あるよねって話
アジャイルにおけるリファクタなんかがまさにそう
自動テストありきでイテレーションに組み込まれる
ただリファクタにも色々あるよねって話
709デフォルトの名無しさん
2017/02/07(火) 22:53:25.47ID:hbaz0JGp リファクタリングの責任範囲はユニットテスト迄でシステムテストとかは機能の変更、追加、向上なんかの範囲だと思うけどね
この二つを混ぜてリファクタリングと呼んでる人が一定数いて話をややこしくしてる
もちろんリリース前には一通りテストはするけどそれはそれ。リファクタリングに必要なテストとは別物
この二つを混ぜてリファクタリングと呼んでる人が一定数いて話をややこしくしてる
もちろんリリース前には一通りテストはするけどそれはそれ。リファクタリングに必要なテストとは別物
710デフォルトの名無しさん
2017/02/07(火) 22:55:46.93ID:NKjx6bYj >>708
いやE2Eテストが自動化出来ないというわけでもないからちょっと違うくない?
リファクタリングにも色々あるよねというのには同意。
リファクタリングの対象を決めることは大事だよね。
システム全体をリファクタリングしようとしても成功率は低い。だからE2Eテストはいらない(システム全体を一度に変えようとすんな)と言いたい気持ちも解る。
いやE2Eテストが自動化出来ないというわけでもないからちょっと違うくない?
リファクタリングにも色々あるよねというのには同意。
リファクタリングの対象を決めることは大事だよね。
システム全体をリファクタリングしようとしても成功率は低い。だからE2Eテストはいらない(システム全体を一度に変えようとすんな)と言いたい気持ちも解る。
711デフォルトの名無しさん
2017/02/07(火) 22:57:24.46ID:6yEMM6pR712デフォルトの名無しさん
2017/02/07(火) 23:01:56.40ID:hbaz0JGp >>711
君が言いたいことは分かんないけど自分の言いたいことはわかってるよ
君が言いたいことは分かんないけど自分の言いたいことはわかってるよ
713デフォルトの名無しさん
2017/02/07(火) 23:08:35.66ID:6yEMM6pR >>712
いや分かってねえよお前w
既存のユニットテストが利用出来るようなコード修正は
お前のコードオナニー以外の何者でもない
お前はリファクタリングという正義を笠に着てコードオナニーをしているだけの
童貞コーダーにすぎないのだよ
いや分かってねえよお前w
既存のユニットテストが利用出来るようなコード修正は
お前のコードオナニー以外の何者でもない
お前はリファクタリングという正義を笠に着てコードオナニーをしているだけの
童貞コーダーにすぎないのだよ
714デフォルトの名無しさん
2017/02/07(火) 23:11:01.58ID:hbaz0JGp >>713
まさに混同してる人が話をややこしくしてる見本
まさに混同してる人が話をややこしくしてる見本
715デフォルトの名無しさん
2017/02/07(火) 23:16:01.53ID:S1oxUZhq >>706
何だその意味がない答えは?
> 実行ファイル一つならそうである可能性もあるけど、ライブラリだったらシステム全体ではないよね。言語関係ないとはそういうこと。
ライブラリだったらシステム全体ではないかもしれないけど、実行ファイル一つならそうである可能性もある
何だその意味がない答えは?
> 実行ファイル一つならそうである可能性もあるけど、ライブラリだったらシステム全体ではないよね。言語関係ないとはそういうこと。
ライブラリだったらシステム全体ではないかもしれないけど、実行ファイル一つならそうである可能性もある
716デフォルトの名無しさん
2017/02/07(火) 23:16:32.08ID:K2oda13o717デフォルトの名無しさん
2017/02/07(火) 23:17:49.44ID:S1oxUZhq718デフォルトの名無しさん
2017/02/07(火) 23:19:18.43ID:S1oxUZhq719デフォルトの名無しさん
2017/02/07(火) 23:22:44.32ID:K2oda13o720デフォルトの名無しさん
2017/02/07(火) 23:23:22.80ID:S1oxUZhq721デフォルトの名無しさん
2017/02/07(火) 23:23:38.10ID:6yEMM6pR722デフォルトの名無しさん
2017/02/07(火) 23:23:56.74ID:NKjx6bYj >>715
だから違う言語にしたというのと、システムテストをするというのは無関係だって話だよ。それだけ。
だから違う言語にしたというのと、システムテストをするというのは無関係だって話だよ。それだけ。
723デフォルトの名無しさん
2017/02/07(火) 23:25:16.66ID:NKjx6bYj ID:6yEMM6pR がまともなリファクタリングを語るのはもうギャグにしか見えない
724デフォルトの名無しさん
2017/02/07(火) 23:32:41.16ID:S1oxUZhq725デフォルトの名無しさん
2017/02/07(火) 23:37:57.69ID:hbaz0JGp >>717
そう言ってるつもりだけど?機能の変更までやったらシステムテストは必要だけどそれはリファクタリングの後の工程だよねってこと
そう言ってるつもりだけど?機能の変更までやったらシステムテストは必要だけどそれはリファクタリングの後の工程だよねってこと
726デフォルトの名無しさん
2017/02/07(火) 23:41:30.42ID:NKjx6bYj >>724
なんで?例えばC互換のABI作れる言語なんて山ほどあるけど(バイナリ作る言語ではほぼ必須機能だよね)
他にも内部の言語は変えたけどモジュールの外向きのラッパーは今までと同じ言語で書くというのもあるだろ
なんで?例えばC互換のABI作れる言語なんて山ほどあるけど(バイナリ作る言語ではほぼ必須機能だよね)
他にも内部の言語は変えたけどモジュールの外向きのラッパーは今までと同じ言語で書くというのもあるだろ
727デフォルトの名無しさん
2017/02/07(火) 23:46:26.22ID:6yEMM6pR >>725
お前頭沸いてんなw
そもそもテストの存在意義すら分かってねえじゃねえかw
ユニットテストは必要だけどシステムテストは必要ないなどと言う開発メソッドは
人類の歴史上でただの一度たりとも存在した事はねえよw
お前頭沸いてんなw
そもそもテストの存在意義すら分かってねえじゃねえかw
ユニットテストは必要だけどシステムテストは必要ないなどと言う開発メソッドは
人類の歴史上でただの一度たりとも存在した事はねえよw
728デフォルトの名無しさん
2017/02/07(火) 23:53:55.55ID:S1oxUZhq729デフォルトの名無しさん
2017/02/08(水) 00:00:15.94ID:xLLPMt9l730デフォルトの名無しさん
2017/02/08(水) 00:03:59.64ID:oBIe6m9v731デフォルトの名無しさん
2017/02/08(水) 00:16:01.83ID:ahyxJIg+ >>730←自分のオナニーが認められないから根本的な設計思想の変更までリファクタリングだと言いだす極端すぎるバカw
732デフォルトの名無しさん
2017/02/08(水) 00:37:41.54ID:E3hlYujb >>731
涙ふけよ
涙ふけよ
733デフォルトの名無しさん
2017/02/08(水) 03:53:58.44ID:/T6I+uKy バカをチンカス野郎と言い換えても
罵倒であることは変わりない
これがリファクタリングでしょ?
罵倒であることは変わりない
これがリファクタリングでしょ?
734デフォルトの名無しさん
2017/02/08(水) 04:18:31.48ID:TcrM+SWf 「外部からみた振る舞いを変えずに内部の設計を変更すること」がリファクタリング
ここでいう"外部"が関数の外部だったりシステムの外部だったりするけど、どっちもリファクタリング
リファクタリングを実施するのは設計〜製作工程
TDDなら製作と同時にユニットテストも当然走る
TDDであってもそうで無くても、製作後にテストの工程は当然流す
添削おなしゃす
ここでいう"外部"が関数の外部だったりシステムの外部だったりするけど、どっちもリファクタリング
リファクタリングを実施するのは設計〜製作工程
TDDなら製作と同時にユニットテストも当然走る
TDDであってもそうで無くても、製作後にテストの工程は当然流す
添削おなしゃす
735デフォルトの名無しさん
2017/02/08(水) 05:18:42.07ID:ahyxJIg+ >>734
> TDDなら製作と同時にユニットテストも当然走る
> TDDであってもそうで無くても、製作後にテストの工程は当然流す
これはリファクタリングの定義とは関係ないし
TDDでなくてもユニットテストは当然走る
> TDDなら製作と同時にユニットテストも当然走る
> TDDであってもそうで無くても、製作後にテストの工程は当然流す
これはリファクタリングの定義とは関係ないし
TDDでなくてもユニットテストは当然走る
736デフォルトの名無しさん
2017/02/08(水) 09:24:40.45ID:pGBkCxNv >>735
内省したのか?
内省したのか?
737デフォルトの名無しさん
2017/02/08(水) 09:39:48.42ID:nBuIwUQ3 >>735
>これはリファクタリングの定義とは関係ないし
そうだね
上の方でごっちゃにしてる人が居たからついでに書いたけど、語弊があったね
>TDDでなくてもユニットテストは当然走る
そうだね
製作と"同時に"走るかどうかだけの違いだと思う
>これはリファクタリングの定義とは関係ないし
そうだね
上の方でごっちゃにしてる人が居たからついでに書いたけど、語弊があったね
>TDDでなくてもユニットテストは当然走る
そうだね
製作と"同時に"走るかどうかだけの違いだと思う
738デフォルトの名無しさん
2017/02/08(水) 09:46:07.86ID:tJ+Jm8vl おれはTDDなんて大嫌いだ
あれ考えやつはアホ
あれ考えやつはアホ
739デフォルトの名無しさん
2017/02/08(水) 09:47:23.69ID:3ajnzt+4 >>738
どんなところが嫌いなん?
どんなところが嫌いなん?
740デフォルトの名無しさん
2017/02/08(水) 13:47:01.32ID:DMN235DC >>739
日本の社畜プログラマーは文系卒のゴミばっかりだから
日本のソフト業界は大量のゴミを一部の有能なエンジニアがコントロールすることでなんとか成立してる
ゴミにTDDなんてやらせたら有能な人間がリファクタリングに追われる羽目になる
日本の社畜プログラマーは文系卒のゴミばっかりだから
日本のソフト業界は大量のゴミを一部の有能なエンジニアがコントロールすることでなんとか成立してる
ゴミにTDDなんてやらせたら有能な人間がリファクタリングに追われる羽目になる
741デフォルトの名無しさん
2017/02/08(水) 14:21:20.51ID:HCDAsN67 >>740
どうせゴミが書いたコードなんて修正しなければならないんだから、テストがちゃんと書かれてる方がそれをパスするようにリファクタリング出来てマシだろ。
どうせゴミが書いたコードなんて修正しなければならないんだから、テストがちゃんと書かれてる方がそれをパスするようにリファクタリング出来てマシだろ。
742デフォルトの名無しさん
2017/02/08(水) 18:18:22.76ID:DMN235DC ゴミが書いたテストコードなんて使えるわけなかろう
時間の無駄
時間の無駄
743デフォルトの名無しさん
2017/02/08(水) 19:05:55.15ID:nBuIwUQ3 それTDD関係ないじゃん
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【ローソン】ロゴの「L」で誤解生んだコーヒーカップ、デザイン変更へ 在庫使い切る3か月後にリニューアル [ぐれ★]
- 今日はチートデイなのでパスタサラダ食べました
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 5時だから窓から5回ちんこ出した
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- リュウジ、ファミマコラボが不評だったから反論で緊急の動画回しててワロタァ
