テストも書かないでリファクタリングとかうけるw
まずな、リファクタリングでは機能追加・修正は行わない。
動作はまったく同じでコードをきれいに書き換えること。
書き換えるといっても、これなら同じ動きだろ?って推測でやってはいけない。
まずテストを書く。ユニットテストをできるように、
単一のクラスでインスタンスを作る。
汚いコードなのだからたいていは依存関係のせいで単一ではクラスが生成できない
それを生成するために、クラスの動作を書き換える。
といっても元のコードは修正しない。継承やプリプロセッサを使って
依存関係を断ち切るために既存のコードを上書きする。
どうしてもそれが不可能な場合には、決められた手順で最小のコード修正を行う
そうやって既存のクラスのユニットテストを行う。
それでやっとリファクタリングが行える。
既存のクラスのユニットテストを通るように新たなコードに修正、
もしくは新規作成して置き換える。
この手順と考え方を守ってないのはリファクタリングではない。
で?
探検
リファクタリングをただのコード修正と思ってる人へ
■ このスレッドは過去ログ倉庫に格納されています
2010/05/29(土) 17:25:56
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関係ないじゃん
744デフォルトの名無しさん
2017/02/08(水) 19:51:16.87ID:z7CrxHSJ テストコード真っ先にレビューしろよ
745デフォルトの名無しさん
2017/02/08(水) 19:54:03.00ID:ahyxJIg+ >>740←TDDもリファクタリングも分かってないゴミwこういうのがリファクタオナニストw
746デフォルトの名無しさん
2017/02/08(水) 20:10:43.25ID:9HGTCoP8 リファクタリング前提の開発なんて小規模開発以外はやるものじゃないね
747デフォルトの名無しさん
2017/02/08(水) 20:59:58.04ID:ahyxJIg+ それを言うならプロトタイピングだろw
なんだよリファクタリング前提てw
なんだよリファクタリング前提てw
748デフォルトの名無しさん
2017/02/08(水) 21:04:39.44ID:saIve44q >>747
オナニー君まだいたの?
オナニー君まだいたの?
749デフォルトの名無しさん
2017/02/08(水) 22:05:08.20ID:EqksEKaR >>746
> リファクタリング前提の開発なんて小規模開発以外はやるものじゃないね
設計に問題があるときどうしてるの?
問題があるっていうのは、最初の時点で間違っていた場合の他
機能追加などで最初の想定と変わってしまった場合
リファクタリングしないで、問題ある設計のまま
開発を続行するの?
大きい開発ほど最初に想定しなかった事態が起こるはずだけど?
> リファクタリング前提の開発なんて小規模開発以外はやるものじゃないね
設計に問題があるときどうしてるの?
問題があるっていうのは、最初の時点で間違っていた場合の他
機能追加などで最初の想定と変わってしまった場合
リファクタリングしないで、問題ある設計のまま
開発を続行するの?
大きい開発ほど最初に想定しなかった事態が起こるはずだけど?
750デフォルトの名無しさん
2017/02/08(水) 22:42:04.56ID:E3hlYujb751デフォルトの名無しさん
2017/02/08(水) 22:59:10.86ID:EqksEKaR >>750
> ただの上流への出戻り、やり直し、糞開発じゃないの
上流へ出戻りするのは良いんだが、
今のコードはどうするんだよ?捨てるのか?
リファクタリングというのは今のコードをよく知られている
手順を使って安全に(バグを入れることなく)変化させていくことをいう
リファクタリングの勉強をちゃんとした人なら、知っているはずだが
リファクタリングしないことを選択すべき理由として
作り直したほうが速い場合っていうのがある。
作り直したほうが早い場合はリファクタリングの哲学によって作りなおすが、
コードを安全に変化させたほうが早い場合は当然リファクタリングをする。
で最初の質問に戻るが、お前コードを修正したほうが早い場合でも
リファクタリングしないで、コードを捨てて作り直すって言ってんの?
それとも行き当たりばったりなただの修正を行ってバグ発生させるの?
> ただの上流への出戻り、やり直し、糞開発じゃないの
上流へ出戻りするのは良いんだが、
今のコードはどうするんだよ?捨てるのか?
リファクタリングというのは今のコードをよく知られている
手順を使って安全に(バグを入れることなく)変化させていくことをいう
リファクタリングの勉強をちゃんとした人なら、知っているはずだが
リファクタリングしないことを選択すべき理由として
作り直したほうが速い場合っていうのがある。
作り直したほうが早い場合はリファクタリングの哲学によって作りなおすが、
コードを安全に変化させたほうが早い場合は当然リファクタリングをする。
で最初の質問に戻るが、お前コードを修正したほうが早い場合でも
リファクタリングしないで、コードを捨てて作り直すって言ってんの?
それとも行き当たりばったりなただの修正を行ってバグ発生させるの?
752デフォルトの名無しさん
2017/02/08(水) 23:15:25.00ID:/T6I+uKy 現状それなりに動いているけど
将来性を考慮しての改善するのがリファクタリングでしょ
そもそもマトモに動いてないコードは問題外
将来性を考慮しての改善するのがリファクタリングでしょ
そもそもマトモに動いてないコードは問題外
753デフォルトの名無しさん
2017/02/08(水) 23:18:57.65ID:EqksEKaR > 将来性を考慮しての改善するのがリファクタリングでしょ
YAGNIに反するからそれは違う。
その将来が絶対来るというのなら話は別だけど
YAGNIに反するからそれは違う。
その将来が絶対来るというのなら話は別だけど
754デフォルトの名無しさん
2017/02/08(水) 23:22:55.16ID:E3hlYujb >>751
うーんw
いずれにしてもコードを捨てる捨てないに関わらず設計に問題があるものをその開発中に直すことをおれの界隈ではリファクタリングとは言わないね
おまえがそれをリファクタリングと言うのは自由なので好きにしてくれw
うーんw
いずれにしてもコードを捨てる捨てないに関わらず設計に問題があるものをその開発中に直すことをおれの界隈ではリファクタリングとは言わないね
おまえがそれをリファクタリングと言うのは自由なので好きにしてくれw
755デフォルトの名無しさん
2017/02/08(水) 23:27:19.72ID:EqksEKaR >>754
俺が言ってるんじゃなくて世間一般の定義。
っていうか開発中とそうでないのが別れてる時点で
お前、前時代的だしなぁ。
お前なら一日に何十回もデプロイするような
ウェブアプリをどうやって変化させていくんだ?
「俺にはできません。」ですかな?w
俺が言ってるんじゃなくて世間一般の定義。
っていうか開発中とそうでないのが別れてる時点で
お前、前時代的だしなぁ。
お前なら一日に何十回もデプロイするような
ウェブアプリをどうやって変化させていくんだ?
「俺にはできません。」ですかな?w
756デフォルトの名無しさん
2017/02/08(水) 23:31:13.83ID:EqksEKaR ちなみに、TDDでは最初にテストコードを書いて
それに通る最小限の実装を書く、その後リファクタリングを
行うというのを繰り返して開発するものので、
http://www.atmarkit.co.jp/ait/articles/1403/05/news035.html#025
> 開発中に直すことをおれの界隈ではリファクタリングとは言わないね
> 開発中に直すことをおれの界隈ではリファクタリングとは言わないね
というのはもぐり、無知レベルでしかないよ
それに通る最小限の実装を書く、その後リファクタリングを
行うというのを繰り返して開発するものので、
http://www.atmarkit.co.jp/ait/articles/1403/05/news035.html#025
> 開発中に直すことをおれの界隈ではリファクタリングとは言わないね
> 開発中に直すことをおれの界隈ではリファクタリングとは言わないね
というのはもぐり、無知レベルでしかないよ
757デフォルトの名無しさん
2017/02/08(水) 23:31:50.65ID:EqksEKaR758デフォルトの名無しさん
2017/02/08(水) 23:36:21.44ID:E3hlYujb うーんw
自ら話を反らしていくスタイルw
自ら話を反らしていくスタイルw
759デフォルトの名無しさん
2017/02/08(水) 23:38:20.99ID:EqksEKaR それてないじゃん?w
それてるっていうのなら、戻していいよ。君の手で
それてるっていうのなら、戻していいよ。君の手で
760デフォルトの名無しさん
2017/02/08(水) 23:53:10.75ID:E3hlYujb うーんww
そもそも少人数短期イテレーション開発におけるリファクタリングの話なんて始めからしてないのだがw
毎日デプロイするwebアプリ?そんな小さな話も全くしてないw
おまえが数億円契約の大規模開発をやったことないのはよくわかったw
そもそも少人数短期イテレーション開発におけるリファクタリングの話なんて始めからしてないのだがw
毎日デプロイするwebアプリ?そんな小さな話も全くしてないw
おまえが数億円契約の大規模開発をやったことないのはよくわかったw
761デフォルトの名無しさん
2017/02/09(木) 01:52:04.00ID:CNUBJX7I >>760
大規模だからって何の自慢になると思ってるんだ?
大規模は別にどうでもいいよ
どういった開発をしているのかが重要だろ。
いくら金がかかっているからって
ろくでもないやつばっかり集めて人海戦術で
ひたすら効率の悪い開発方法をしている?
だとしたら自慢どころか恥だよね。
もっと規模とか金以外に自慢できることないの?
大規模だからって何の自慢になると思ってるんだ?
大規模は別にどうでもいいよ
どういった開発をしているのかが重要だろ。
いくら金がかかっているからって
ろくでもないやつばっかり集めて人海戦術で
ひたすら効率の悪い開発方法をしている?
だとしたら自慢どころか恥だよね。
もっと規模とか金以外に自慢できることないの?
762デフォルトの名無しさん
2017/02/09(木) 04:01:02.59ID:VpXdxNl0763デフォルトの名無しさん
2017/02/09(木) 06:44:32.92ID:IOSaScxB リファクタリングに開発規模は関係ない
レガシーコードの山に頭抱えながら仕事するのも自由だし、好きにしてくれ
レガシーコードの山に頭抱えながら仕事するのも自由だし、好きにしてくれ
764デフォルトの名無しさん
2017/02/09(木) 07:38:20.57ID:W9c8fNbT 規模が大きい開発はクソコーダーがクソコードを量産してくるから俺様が随時コードを書き換えてやる
ってのが ID:E3hlYujb の主張
こういうリファクタオナニストに好きにさせてはいけない
ってのが ID:E3hlYujb の主張
こういうリファクタオナニストに好きにさせてはいけない
765デフォルトの名無しさん
2017/02/09(木) 08:20:04.14ID:2NAFiD3Z リファクタリングに必要な見積りを出してくれ
766デフォルトの名無しさん
2017/02/09(木) 11:43:47.05ID:qhoyYE05 >>765
これな
これな
767デフォルトの名無しさん
2017/02/09(木) 11:48:27.92ID:qhoyYE05768デフォルトの名無しさん
2017/02/09(木) 12:39:15.13ID:Ra4XvV1b 本当に大規模開発やったことあるのか?
新規で作って作りっぱなしだったのか?
新規で作って作りっぱなしだったのか?
769デフォルトの名無しさん
2017/02/09(木) 12:49:33.29ID:2OmAEiex770デフォルトの名無しさん
2017/02/09(木) 13:07:11.30ID:/WGpXuP3771デフォルトの名無しさん
2017/02/09(木) 13:11:02.24ID:/WGpXuP3772デフォルトの名無しさん
2017/02/09(木) 14:01:01.97ID:Ra4XvV1b じゃあ何のことをリファクタリングと呼んでるの?
773デフォルトの名無しさん
2017/02/09(木) 14:27:10.00ID:VpXdxNl0 そもそもファクタリングとは?
それをやり直すってことでしょ
それをやり直すってことでしょ
774デフォルトの名無しさん
2017/02/09(木) 15:01:34.48ID:Lyr2GEHi じゃあ逆に聞くけど設計から変えてUTのコードがそのまま使えるケースってどんなの?w
テストコードの書き換えが必要な改修は開発スキームとして事前にスケジュールに組み込まれるリファクタリングとは全く別ものだろww
テストコードの書き換えが必要な改修は開発スキームとして事前にスケジュールに組み込まれるリファクタリングとは全く別ものだろww
775デフォルトの名無しさん
2017/02/09(木) 15:14:26.88ID:lnTHGhne 別にリファクタリングは個別のユニットテストに影響ないレベルとは限らないでしょ。
リファクタリング対象によってそこは取捨選択すべき。
リファクタリング対象によってそこは取捨選択すべき。
776デフォルトの名無しさん
2017/02/09(木) 17:19:48.49ID:EPpoXydB 結論から言えば概念としてのリファクタリングは否定しないが、
リファクタリングのための工数なんて実際は取れないし、
そんな余計なリソースがあるなら他の事に回した方がいい
所詮暇を持て余した学生の戯言だよ
リファクタリングのための工数なんて実際は取れないし、
そんな余計なリソースがあるなら他の事に回した方がいい
所詮暇を持て余した学生の戯言だよ
777デフォルトの名無しさん
2017/02/09(木) 19:13:25.68ID:Lyr2GEHi778デフォルトの名無しさん
2017/02/09(木) 19:41:42.20ID:2NAFiD3Z プロジェクトの開始時にリファクタリングの見積も出してね
オーバーした分はお金出せないからね
オーバーした分はお金出せないからね
779デフォルトの名無しさん
2017/02/09(木) 20:10:08.12ID:VpXdxNl0 だからまずファクタリングの定義からしようか
それをやり直すってだけの話でしょ
それをやり直すってだけの話でしょ
780デフォルトの名無しさん
2017/02/09(木) 20:29:21.19ID:Ra4XvV1b 機能要件を満たすため
非機能要件を満たすため
オナニーするため
目的が何であろうとリファクタリングはリファクタリングですよ
非機能要件を満たすため
オナニーするため
目的が何であろうとリファクタリングはリファクタリングですよ
781デフォルトの名無しさん
2017/02/09(木) 21:09:00.44ID:DXVOdvHd オブジェクト指向でシステム開発するなら、リファクタリングは必須です。
クラスの設計、インターフェースの抽出・設計といったプログラミング前に
既に必要です。
クラスの設計、インターフェースの抽出・設計といったプログラミング前に
既に必要です。
782デフォルトの名無しさん
2017/02/09(木) 21:09:16.18ID:W9c8fNbT783デフォルトの名無しさん
2017/02/09(木) 21:29:45.22ID:l61bzEJu とりあえず動くものを新規で作って書き換える場合か、すでに動いているもので、修正が入りまくって汚くなったものを整理するくらいしかない。
自由にいじくりまわすのをリファクタリングとは言わない。
自由にいじくりまわすのをリファクタリングとは言わない。
784デフォルトの名無しさん
2017/02/09(木) 21:35:33.02ID:CNUBJX7I >>762
> while文よりfor文の方がわかりやすいね
> って書き直す事のどこが機能追加なの?
while文よりfor文の方がわかりやすいねとか
俺は言ってない。お前が言ったことだ。
お前は、機能追加じゃない例を自分で出して
自分で自分にツッコミを入れてるだけなんだが、
何がしたいの?
> while文よりfor文の方がわかりやすいね
> って書き直す事のどこが機能追加なの?
while文よりfor文の方がわかりやすいねとか
俺は言ってない。お前が言ったことだ。
お前は、機能追加じゃない例を自分で出して
自分で自分にツッコミを入れてるだけなんだが、
何がしたいの?
785デフォルトの名無しさん
2017/02/09(木) 21:39:19.62ID:lnTHGhne786デフォルトの名無しさん
2017/02/09(木) 21:42:53.34ID:CNUBJX7I >>777
> いやだから話の前提が>>749だから選択も糞もないくやらないといけない状況でそれをリファクタリングとはいわねーって
お前根本的に間違ってるんだわ。
まず先に最初の話のツッコミ漏れを補完しておくとだな
>>749で設計に問題があるときはどうするのか聞いた。
これは言い換えると「やり直し以外の選択の余地がない例」として上げたんだよ。
それなのに、>>750で
> ただの上流への出戻り、やり直し、糞開発じゃないの
やり直しすればいいじゃんって、お前アスペか?
やり直し以外の選択肢の余地がないことにたいして、
「やり直ししろ」ってそれは反論になってない
俺が意図してる答えだ
でな、リファクタリングかどうかっていうのは、手段なの
「糞もないくやらないといけない状況」のときに、
リファクタリングを使って、修正を行うのか
リファクタリングを使わずに、修正を行うかの話
ここまで言えば、お前が根本的に間違ってることが理解できるだろ?
お前はリファクタリングが手段であることをわかってない。どんな状況かはどうでもいい。
修正をするときに、どうやって修正するかの話だ。
お前は、リファクタリングしないで、行き当たりばったりで修正してバグを入れ込むんだろう?
俺はリファクタリング(わかりやすく言えばリファクタリングの本に書いてあるテクニック)を使って修正するんだよ
> いやだから話の前提が>>749だから選択も糞もないくやらないといけない状況でそれをリファクタリングとはいわねーって
お前根本的に間違ってるんだわ。
まず先に最初の話のツッコミ漏れを補完しておくとだな
>>749で設計に問題があるときはどうするのか聞いた。
これは言い換えると「やり直し以外の選択の余地がない例」として上げたんだよ。
それなのに、>>750で
> ただの上流への出戻り、やり直し、糞開発じゃないの
やり直しすればいいじゃんって、お前アスペか?
やり直し以外の選択肢の余地がないことにたいして、
「やり直ししろ」ってそれは反論になってない
俺が意図してる答えだ
でな、リファクタリングかどうかっていうのは、手段なの
「糞もないくやらないといけない状況」のときに、
リファクタリングを使って、修正を行うのか
リファクタリングを使わずに、修正を行うかの話
ここまで言えば、お前が根本的に間違ってることが理解できるだろ?
お前はリファクタリングが手段であることをわかってない。どんな状況かはどうでもいい。
修正をするときに、どうやって修正するかの話だ。
お前は、リファクタリングしないで、行き当たりばったりで修正してバグを入れ込むんだろう?
俺はリファクタリング(わかりやすく言えばリファクタリングの本に書いてあるテクニック)を使って修正するんだよ
787デフォルトの名無しさん
2017/02/09(木) 21:45:29.54ID:CNUBJX7I >>778
> プロジェクトの開始時にリファクタリングの見積も出してね
リファクタリングが手段であることを知れば、
「リファクタリング(手段)の見積もり」がおかしい言い方だとわかるだろう。
正しく言うならば「プロジェクトの開始時に修正の見積もだしてね」だ
修正にはバグだけじゃなくて仕様の追加や間違いによる修正も含まれる。
あとは修正するしかない状況で、行き当たりばったりで修正するか
リファクタリングで修正するかの違いなだけだ
> プロジェクトの開始時にリファクタリングの見積も出してね
リファクタリングが手段であることを知れば、
「リファクタリング(手段)の見積もり」がおかしい言い方だとわかるだろう。
正しく言うならば「プロジェクトの開始時に修正の見積もだしてね」だ
修正にはバグだけじゃなくて仕様の追加や間違いによる修正も含まれる。
あとは修正するしかない状況で、行き当たりばったりで修正するか
リファクタリングで修正するかの違いなだけだ
788デフォルトの名無しさん
2017/02/09(木) 21:46:27.58ID:CNUBJX7I■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★4 [BFU★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す [蚤の市★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 佳子さまがコロナ感染 [おっさん友の会★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【悲報】靖国参拝を批判する中国に内政干渉するなと騒ぐネトウヨが中国の内紛に干渉する理由、誰にもわからない🥺 [616817505]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 【悲報】ネトウヨ「なんで高市が謝るんだよ!岡田が謝れ!😡」 [359965264]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- エッヂ逝った?
