テストも書かないでリファクタリングとかうけるw
まずな、リファクタリングでは機能追加・修正は行わない。
動作はまったく同じでコードをきれいに書き換えること。
書き換えるといっても、これなら同じ動きだろ?って推測でやってはいけない。
まずテストを書く。ユニットテストをできるように、
単一のクラスでインスタンスを作る。
汚いコードなのだからたいていは依存関係のせいで単一ではクラスが生成できない
それを生成するために、クラスの動作を書き換える。
といっても元のコードは修正しない。継承やプリプロセッサを使って
依存関係を断ち切るために既存のコードを上書きする。
どうしてもそれが不可能な場合には、決められた手順で最小のコード修正を行う
そうやって既存のクラスのユニットテストを行う。
それでやっとリファクタリングが行える。
既存のクラスのユニットテストを通るように新たなコードに修正、
もしくは新規作成して置き換える。
この手順と考え方を守ってないのはリファクタリングではない。
で?
探検
リファクタリングをただのコード修正と思ってる人へ
■ このスレッドは過去ログ倉庫に格納されています
2010/05/29(土) 17:25:56
194デフォルトの名無しさん
2011/11/11(金) 21:19:14.97 >>193
そういう文句はオリジナルを書いた奴に言え。
そういう文句はオリジナルを書いた奴に言え。
195デフォルトの名無しさん
2011/11/11(金) 23:32:49.89 自分の言葉で語れない奴はカス
196デフォルトの名無しさん
2011/11/11(金) 23:58:46.50 お前のセリフに説得力はない
197デフォルトの名無しさん
2011/11/12(土) 01:34:54.40 >>191
違いを理解できない能力なだけじゃないの?
違いを理解できない能力なだけじゃないの?
198デフォルトの名無しさん
2011/11/16(水) 20:57:29.42 重複の除去が有効とか書いてあるじゃん
前にやった仕事で、ほんの一部を除いて同一の機能を持つモジュール2つが
別々の人によってそれぞれ実装されてて
目玉飛び出そうになったのを思い出した
前にやった仕事で、ほんの一部を除いて同一の機能を持つモジュール2つが
別々の人によってそれぞれ実装されてて
目玉飛び出そうになったのを思い出した
199デフォルトの名無しさん
2011/11/16(水) 21:30:50.10 別にいいじゃん
その2つをくっつけることで後に呼び出し先Aの機能を修正したいだけなのに
その機能がわざわざまとめられてるために
もう一つの呼び出し先Bのソースまで洗わないといけなくなるかもしんないだろ
まとめるのは必ずしも正解ではない
その2つをくっつけることで後に呼び出し先Aの機能を修正したいだけなのに
その機能がわざわざまとめられてるために
もう一つの呼び出し先Bのソースまで洗わないといけなくなるかもしんないだろ
まとめるのは必ずしも正解ではない
200デフォルトの名無しさん
2011/11/16(水) 22:33:28.29 >>199
必ずしも正解ではないのは正しいけど
同じような修正が必要になったときに片方の修正が忘れられることの方が多いと思われ
共通で使われてるメソッドの参照元を調べることより
クラスもメソッドも違うけど実は中身が同じでなければならなかったのを探すほうが大変な気が
分ける理由がないうちは一緒にしといて
必要になったら分ける方のが正しいと思う
必ずしも正解ではないのは正しいけど
同じような修正が必要になったときに片方の修正が忘れられることの方が多いと思われ
共通で使われてるメソッドの参照元を調べることより
クラスもメソッドも違うけど実は中身が同じでなければならなかったのを探すほうが大変な気が
分ける理由がないうちは一緒にしといて
必要になったら分ける方のが正しいと思う
201デフォルトの名無しさん
2011/11/17(木) 01:17:42.75 ちなみに >>198 は
その両方を移植する仕事だった
「工数儲けた」と思ってたら
両者をソース読んで同一機能であることを確認した上で
一つにすりあわせて、その承認もらう羽目になったとさ
当然まともな設計書なんてありゃしないし
その両方を移植する仕事だった
「工数儲けた」と思ってたら
両者をソース読んで同一機能であることを確認した上で
一つにすりあわせて、その承認もらう羽目になったとさ
当然まともな設計書なんてありゃしないし
202デフォルトの名無しさん
2011/11/17(木) 22:48:38.78 >>200
いや、お前の言ってることはGoogleやAppleでは正しいだろうな
だが、日本の工業製品ではNG
もちろんいいたいことはわかるけど
それじゃ見積もりがとれないこの1点でNG
色々な大手でたくさんのプロジェクトが走っていて
共通ライブラリなんて生まれないっつか生まれても消滅してしまう理由はここにある
修正の影響範囲が巨大すぎて見積もれない
また、修正時に全員が同じタイミングで対応できない
これも大きな問題だ
こっち動かなくなるのに「直したよ〜」とかメールくれられても困るだろ?
そっちに手がまわらないのにリリース前に真ライブラリでバグってリリース失敗であぼんとか話にならない
修正した本人は「いいんですーこれが本来あるべき姿なんです〜」って主張しようと
修正するほうは「糞が・・・」って思うっしょ?
まあ、MSの出荷するもんにみんなが愚痴をこぼす瞬間だと思うけど
いや、お前の言ってることはGoogleやAppleでは正しいだろうな
だが、日本の工業製品ではNG
もちろんいいたいことはわかるけど
それじゃ見積もりがとれないこの1点でNG
色々な大手でたくさんのプロジェクトが走っていて
共通ライブラリなんて生まれないっつか生まれても消滅してしまう理由はここにある
修正の影響範囲が巨大すぎて見積もれない
また、修正時に全員が同じタイミングで対応できない
これも大きな問題だ
こっち動かなくなるのに「直したよ〜」とかメールくれられても困るだろ?
そっちに手がまわらないのにリリース前に真ライブラリでバグってリリース失敗であぼんとか話にならない
修正した本人は「いいんですーこれが本来あるべき姿なんです〜」って主張しようと
修正するほうは「糞が・・・」って思うっしょ?
まあ、MSの出荷するもんにみんなが愚痴をこぼす瞬間だと思うけど
203デフォルトの名無しさん
2011/11/17(木) 22:50:23.01204デフォルトの名無しさん
2011/11/17(木) 22:55:03.81 >>203
でもいくらもないっしょ?
日本のITって進化に失敗してて紙業務を電子化したような仕事のほうが多いよね?
韓国にもすっかり抜かれちゃったみたいで国内全員でショボーンって感じじゃない?
研究開発分野と本当に極一部だけだろうね
まあ、いまそういう開発してても日本じゃいつ紙業務の電子化ITにまわされるかわからないから
勝ち組って意味でいうと海外脱出組が勝ち組だろうね
でもいくらもないっしょ?
日本のITって進化に失敗してて紙業務を電子化したような仕事のほうが多いよね?
韓国にもすっかり抜かれちゃったみたいで国内全員でショボーンって感じじゃない?
研究開発分野と本当に極一部だけだろうね
まあ、いまそういう開発してても日本じゃいつ紙業務の電子化ITにまわされるかわからないから
勝ち組って意味でいうと海外脱出組が勝ち組だろうね
205デフォルトの名無しさん
2011/11/17(木) 22:58:57.20206デフォルトの名無しさん
2011/11/17(木) 23:01:51.10 うちは少数精鋭なんで(使えない奴はやめさせられる)
同じコードをいくつも書くとかそんな無駄なことやってられないんだよね。
テストも人海戦術で同じことを何度もやるとか、時間的に無理だし、
もちろん手動テストは極力減らすので、変更したって
影響があるならすぐ分かる。
同じコードをいくつも書くとかそんな無駄なことやってられないんだよね。
テストも人海戦術で同じことを何度もやるとか、時間的に無理だし、
もちろん手動テストは極力減らすので、変更したって
影響があるならすぐ分かる。
207デフォルトの名無しさん
2011/11/17(木) 23:02:59.45 >>205
ウェブ系なんて工業製品とかわんねーけどな
あんなん汎用性見越して組む必要あるかね?
寿命が短いからどう組んでもどうとでも動くが正解だろ?
納期まで早い方が真
お前の世界こそプログラムを綺麗にまとめて褒める奴1人もいないと思うがな
ウェブ系なんて工業製品とかわんねーけどな
あんなん汎用性見越して組む必要あるかね?
寿命が短いからどう組んでもどうとでも動くが正解だろ?
納期まで早い方が真
お前の世界こそプログラムを綺麗にまとめて褒める奴1人もいないと思うがな
208デフォルトの名無しさん
2011/11/17(木) 23:38:17.66209デフォルトの名無しさん
2011/11/17(木) 23:39:39.61 重複コードを作ると、納期が延びます。
修正があると、重複コードの分
修正量が増えます。
少しの修正であっちこっち修正して、
あっちこっちテストして納期伸ばしてるのは誰ですか?w
修正があると、重複コードの分
修正量が増えます。
少しの修正であっちこっち修正して、
あっちこっちテストして納期伸ばしてるのは誰ですか?w
210デフォルトの名無しさん
2011/11/18(金) 00:57:17.23 >>209
それって何箇所?
10箇所?20箇所?程度なら貼ったほうが速いよね?
思いっきりまとめあげられてて難しい仕組みに頭ひねってソース解読しなきゃいけないぐらいだったら
単純コピーで貼ってあってくれたほうがまだソース読みやすいよね
っていうか件数が100件いかない程度のコピペならお前が便所に席を立った間にやっておいてやるよ
この程度の件数だったらどう組んでも変わらない
それって何箇所?
10箇所?20箇所?程度なら貼ったほうが速いよね?
思いっきりまとめあげられてて難しい仕組みに頭ひねってソース解読しなきゃいけないぐらいだったら
単純コピーで貼ってあってくれたほうがまだソース読みやすいよね
っていうか件数が100件いかない程度のコピペならお前が便所に席を立った間にやっておいてやるよ
この程度の件数だったらどう組んでも変わらない
211デフォルトの名無しさん
2011/11/18(金) 01:28:11.79212デフォルトの名無しさん
2011/11/18(金) 01:48:53.37 自分でやるんじゃなくて他人にやらせるんだろ
213デフォルトの名無しさん
2011/11/18(金) 06:57:57.33 >>211
いや、楽しいよ
お前みたいな対象物のメリットとデメリットも判断できんようなの出し抜いて数字上げるのが何よりの快感だわ(笑)
結局、技術の上部だけしかすくえないひとって何も見えてないんだよね
新しいってだけである意味パニック状態になってる自分がなにより見えてない
いや、楽しいよ
お前みたいな対象物のメリットとデメリットも判断できんようなの出し抜いて数字上げるのが何よりの快感だわ(笑)
結局、技術の上部だけしかすくえないひとって何も見えてないんだよね
新しいってだけである意味パニック状態になってる自分がなにより見えてない
214デフォルトの名無しさん
2011/11/18(金) 07:32:36.75 数字を出しさえすればそれが全てだと思い込んでいることはよく判った。
さぞかし楽しい人生だろうねぇ。
さぞかし楽しい人生だろうねぇ。
215デフォルトの名無しさん
2011/11/18(金) 11:48:05.79216デフォルトの名無しさん
2011/11/18(金) 12:54:07.46 >>210
> 思いっきりまとめあげられてて難しい仕組みに頭ひねってソース解読しなきゃいけないぐらいだったら
> 単純コピーで貼ってあってくれたほうがまだソース読みやすいよね
申し訳ありません
ifとforしか理解できない人もいるということを忘れていました
リファクタリングの過程でデザインパターンを適用してしまったことをお許しください
> 思いっきりまとめあげられてて難しい仕組みに頭ひねってソース解読しなきゃいけないぐらいだったら
> 単純コピーで貼ってあってくれたほうがまだソース読みやすいよね
申し訳ありません
ifとforしか理解できない人もいるということを忘れていました
リファクタリングの過程でデザインパターンを適用してしまったことをお許しください
217デフォルトの名無しさん
2011/11/18(金) 12:59:02.53 >>213
コピペもできるしリファクタリングもできる俺がそれを言うならまだわかるけど、
お前はコピペしかできないんだからさ、取捨選択の上でコピペを採用したみたいな言い方はやめてよ
もっともらしい後付けをしたところで、お前のカードはコピペしかないわけで
コピペもできるしリファクタリングもできる俺がそれを言うならまだわかるけど、
お前はコピペしかできないんだからさ、取捨選択の上でコピペを採用したみたいな言い方はやめてよ
もっともらしい後付けをしたところで、お前のカードはコピペしかないわけで
218デフォルトの名無しさん
2011/11/18(金) 12:59:57.09219デフォルトの名無しさん
2011/11/18(金) 15:50:01.61 正面から反論できないときは人格攻撃になるんですね
その時点で白旗あげてるっていうかなんていうか
その時点で白旗あげてるっていうかなんていうか
220デフォルトの名無しさん
2011/11/18(金) 19:16:21.49221デフォルトの名無しさん
2011/11/18(金) 23:06:02.19 >>220
でも自分のやってることの説明できないってのは問題じゃない?
結局トレードオフの問題であって
やればやるほどとかどんな場面でもってわけじゃないってとこは否定できないわけでしょ
じゃあ、君のやり方は正しいの?また、他の人と差がでるのは何が決め手なの?
ってのは結局のところどこでも求められると思うんだけどね
それが説明できないなら君に用のある人なんていないと思うんだよね
みんな暇じゃないから(笑)
でも自分のやってることの説明できないってのは問題じゃない?
結局トレードオフの問題であって
やればやるほどとかどんな場面でもってわけじゃないってとこは否定できないわけでしょ
じゃあ、君のやり方は正しいの?また、他の人と差がでるのは何が決め手なの?
ってのは結局のところどこでも求められると思うんだけどね
それが説明できないなら君に用のある人なんていないと思うんだよね
みんな暇じゃないから(笑)
222デフォルトの名無しさん
2011/11/19(土) 16:25:48.92 へえ
223デフォルトの名無しさん
2011/11/19(土) 16:38:24.26 トレードオフ考えてやるんだから
やっぱりリファクタリングは必要ってことね
リファクタリング全否定って人はいるのかしら
やっぱりリファクタリングは必要ってことね
リファクタリング全否定って人はいるのかしら
224デフォルトの名無しさん
2011/11/19(土) 17:14:49.53 トレードオフはコードをまとめる話だろ?
リファクタリングはまったく必要ないよ
そもそも意味わからないもん
次の仕様が決まってる中でのコード修正ならわかるけど
次になんの予定もないのに何に向けてどう修正してるのかまったく理解できない
その修正はいいの?悪いの?
オナニーで終わってない?
これらを判断できる材料すらわからない
単に金をドブに捨ててるだけだと思う
リファクタリングはまったく必要ないよ
そもそも意味わからないもん
次の仕様が決まってる中でのコード修正ならわかるけど
次になんの予定もないのに何に向けてどう修正してるのかまったく理解できない
その修正はいいの?悪いの?
オナニーで終わってない?
これらを判断できる材料すらわからない
単に金をドブに捨ててるだけだと思う
225デフォルトの名無しさん
2011/11/19(土) 17:30:26.36 汚いコード
ゴミ溜めが如くきったない部屋で過ごしてもなーんにも問題無い
↑
↓
チリ一つも落ちていないようなクリーンルームじゃないと過ごせない
綺麗なコード
って話だろ? 何事もほどほどにしとけって事だよ
ゴミ溜めが如くきったない部屋で過ごしてもなーんにも問題無い
↑
↓
チリ一つも落ちていないようなクリーンルームじゃないと過ごせない
綺麗なコード
って話だろ? 何事もほどほどにしとけって事だよ
226デフォルトの名無しさん
2011/11/19(土) 17:33:20.81 >>225
人の話を良く聞かないで進めちゃって失敗するほうじゃない?
人の話を良く聞かないで進めちゃって失敗するほうじゃない?
227デフォルトの名無しさん
2011/11/19(土) 18:59:16.42 >>224
キミがそのコードをずっとメンテナンスする責任者だとして、
どこかのプログラマが明らかにまとめるべきところまとめてこなかったり、
分けるべきところをを無理やりまとめてきたりした場合、
正しく動くという理由でそのままにしておくのかい?
キミがそのコードをずっとメンテナンスする責任者だとして、
どこかのプログラマが明らかにまとめるべきところまとめてこなかったり、
分けるべきところをを無理やりまとめてきたりした場合、
正しく動くという理由でそのままにしておくのかい?
228デフォルトの名無しさん
2011/11/19(土) 19:28:32.54229デフォルトの名無しさん
2011/11/19(土) 19:33:14.80 ソース=設計書だろ?
230デフォルトの名無しさん
2011/11/19(土) 19:47:12.13 >>229
底辺乙
底辺乙
231デフォルトの名無しさん
2011/11/19(土) 19:51:09.79232デフォルトの名無しさん
2011/11/19(土) 20:14:22.32 最高 綺麗で動く
↑ 汚いが動く
↓ 綺麗で動かない
最低 汚くて動かない
一番下のは捨ててよし
[動く/動かない] と [綺麗/汚い] の相関関係だお
汚いけど動くのは、綺麗だが動かないものより価値がある。
でも綺麗で動かないのを 動く にしやすいし、
汚いけど動くものも、後で何か変更するにあたって、動くのを保ちつつ綺麗にしておくと直しやすい。
「綺麗にする」のがリファクタリング。動かないものを動くようにすることとはイコールではない。関係はあるけど。
↑ 汚いが動く
↓ 綺麗で動かない
最低 汚くて動かない
一番下のは捨ててよし
[動く/動かない] と [綺麗/汚い] の相関関係だお
汚いけど動くのは、綺麗だが動かないものより価値がある。
でも綺麗で動かないのを 動く にしやすいし、
汚いけど動くものも、後で何か変更するにあたって、動くのを保ちつつ綺麗にしておくと直しやすい。
「綺麗にする」のがリファクタリング。動かないものを動くようにすることとはイコールではない。関係はあるけど。
233デフォルトの名無しさん
2011/11/19(土) 20:27:15.16 >>232 使用がバッチィからコードもバッチイって発想はないのか?
234232
2011/11/19(土) 20:45:33.70 仕様が汚いと動かすのが難しい
↑
↓
綺麗な仕様は動かしやすい
って関係はあると思うけど、コードと仕様は直接関係しないんじゃねの?
↑
↓
綺麗な仕様は動かしやすい
って関係はあると思うけど、コードと仕様は直接関係しないんじゃねの?
235デフォルトの名無しさん
2011/11/19(土) 20:55:13.83236デフォルトの名無しさん
2011/11/19(土) 21:31:39.15 コードを綺麗/汚いで語るから話がおかしくなるんじゃないか。
リファクタリングって大なり小なり設計の問題の修正のことだと思うんだが。
オレがずれてるのか。
リファクタリングって大なり小なり設計の問題の修正のことだと思うんだが。
オレがずれてるのか。
237デフォルトの名無しさん
2011/11/19(土) 21:34:18.54238デフォルトの名無しさん
2011/11/19(土) 21:49:35.63 もちろん設計の問題とコードの綺麗/汚いは関係ありますが?
最初にきちんと設計をしたつもりでも、実装段階では想定したとおりに行かなかったり、抜けがあったりすることはよくあることです。
実際に書いているうちにいろいろ思いつくこともあります。ちょこっと例外的な処理を付け加えて、を繰り返し、コードは汚くなっていきます。
そうしてソースがスパゲッティ化し、メンテ不能のソースとなっていきます。
そうならないようにするためにリファクタリングがあります。
リファクタリングとは、仕様を変えることなく、ソースコードを改造することをいいます。
汚いソースコードでもプログラムは動きますが、メンテナンスするのは大変です。
汚いソースコードと綺麗なソースコードではメンテのしやすさが全く違います。
なのできるだけ綺麗なソースを書くように心がけ、汚くなったら速やかに書き直すことです。
後々のことを考えて、わかりやすいソースに直します。
最初にきちんと設計をしたつもりでも、実装段階では想定したとおりに行かなかったり、抜けがあったりすることはよくあることです。
実際に書いているうちにいろいろ思いつくこともあります。ちょこっと例外的な処理を付け加えて、を繰り返し、コードは汚くなっていきます。
そうしてソースがスパゲッティ化し、メンテ不能のソースとなっていきます。
そうならないようにするためにリファクタリングがあります。
リファクタリングとは、仕様を変えることなく、ソースコードを改造することをいいます。
汚いソースコードでもプログラムは動きますが、メンテナンスするのは大変です。
汚いソースコードと綺麗なソースコードではメンテのしやすさが全く違います。
なのできるだけ綺麗なソースを書くように心がけ、汚くなったら速やかに書き直すことです。
後々のことを考えて、わかりやすいソースに直します。
239デフォルトの名無しさん
2011/11/19(土) 22:15:38.43 >>238
> そうならないようにするためにリファクタリングがあります。
そうならないように設計を見直す方が先じゃないか?
小手先でどれだけいじっても, 汚い設計は汚いソースを
再生産するだけじゃないのか?
それだったら, 設計をリファクターすべきだ
ぶっちゃけ, ユーザーインターフェースが変わらなきゃ
仕様の範囲内だ
> そうならないようにするためにリファクタリングがあります。
そうならないように設計を見直す方が先じゃないか?
小手先でどれだけいじっても, 汚い設計は汚いソースを
再生産するだけじゃないのか?
それだったら, 設計をリファクターすべきだ
ぶっちゃけ, ユーザーインターフェースが変わらなきゃ
仕様の範囲内だ
240デフォルトの名無しさん
2011/11/19(土) 23:03:54.10 >>238
コピペはいらんよ。
汚い綺麗で語るとコードの可読性ばかりを問題にしてるように感じるって話。
だからリファクタリングがいらないとか言う奴がいるんじゃないの。
コードが綺麗であっても設計上の問題が存在することは当然あるよね。
コードの綺麗/汚いは設計の一部しか示していないと思うし、
その修正はリファクタリングの一部でしかないと思う。
コピペはいらんよ。
汚い綺麗で語るとコードの可読性ばかりを問題にしてるように感じるって話。
だからリファクタリングがいらないとか言う奴がいるんじゃないの。
コードが綺麗であっても設計上の問題が存在することは当然あるよね。
コードの綺麗/汚いは設計の一部しか示していないと思うし、
その修正はリファクタリングの一部でしかないと思う。
241デフォルトの名無しさん
2011/11/20(日) 07:43:51.29242デフォルトの名無しさん
2011/11/20(日) 08:21:15.92 関数、クラスの仕様は変わっても
システム全体の仕様は変わりません。
なので仕様変更にはあたりません。
システム全体の仕様は変わりません。
なので仕様変更にはあたりません。
243デフォルトの名無しさん
2011/11/20(日) 08:21:59.02 設計変更と仕様変更は別の話といえばよかったか。
244デフォルトの名無しさん
2011/11/20(日) 12:07:12.15 設計を仕様と見なしたら
仕様変更を伴わないコード変更って存在するのか?
仕様変更を伴わないコード変更って存在するのか?
245デフォルトの名無しさん
2011/11/20(日) 12:08:20.66 aとかbとかわけのわからん変数名を
意味がある変数名に変更するとか。
意味がある変数名に変更するとか。
246デフォルトの名無しさん
2011/11/20(日) 13:09:50.85 I/F変更を伴うかどうかっていう観点じゃないの
ユーザに見える部分とか
担当者の異なるモジュール間とか
ユーザに見える部分とか
担当者の異なるモジュール間とか
247デフォルトの名無しさん
2011/11/20(日) 17:10:54.61 オリンパスコーディング
248デフォルトの名無しさん
2011/11/20(日) 17:46:34.19 結局、
外から見た目の振る舞いが変わるか/変わらないかがポイントで、
外から見た目の振る舞い=仕様であって
内部構造≒設計は、リファクタリングの対象
って事でおk?
外から見た目の振る舞いが変わるか/変わらないかがポイントで、
外から見た目の振る舞い=仕様であって
内部構造≒設計は、リファクタリングの対象
って事でおk?
249デフォルトの名無しさん
2011/11/20(日) 18:02:36.08250デフォルトの名無しさん
2011/11/20(日) 18:50:26.97251デフォルトの名無しさん
2011/11/20(日) 18:53:49.64252デフォルトの名無しさん
2011/11/20(日) 21:17:25.23253デフォルトの名無しさん
2011/11/21(月) 09:59:01.46 (この人たち、なんで今さらこんな議論をしてるんだろう)
254デフォルトの名無しさん
2011/11/21(月) 22:35:10.04 最初からずっとこのスレにいるのは
お前だけだよw
お前だけだよw
255デフォルトの名無しさん
2011/11/22(火) 10:39:05.00 そうか、リファクタリング本を読んでるのは俺だけだったか
256デフォルトの名無しさん
2011/11/23(水) 00:32:21.88 >>255
本の受け売りじゃなくて中身をちゃんと理解しろよ
本の受け売りじゃなくて中身をちゃんと理解しろよ
257デフォルトの名無しさん
2011/11/23(水) 01:19:14.75 そういう手合いはおそらくよんですらいない
買っただけ
買っただけ
258デフォルトの名無しさん
2012/02/07(火) 13:45:03.37 改修が必要になったときに初めて
その場で interface をでっちあげて、その後、クラスお取替え
これでいい気がしてきた
その場で interface をでっちあげて、その後、クラスお取替え
これでいい気がしてきた
259デフォルトの名無しさん
2012/02/07(火) 20:02:48.59 それでいい
260デフォルトの名無しさん
2012/03/24(土) 14:35:39.62 リファクタリングを身に付けるとコードレベルでの設計力が上がりますか?
261デフォルトの名無しさん
2012/03/24(土) 16:05:22.68 設計力は下がります
でも組んだ後の問題に対する対応力は上がります
でも組んだ後の問題に対する対応力は上がります
262デフォルトの名無しさん
2012/03/24(土) 17:35:34.20 >>261
何故、設計力は下がるのですか?
何故、設計力は下がるのですか?
263デフォルトの名無しさん
2012/03/24(土) 21:11:33.51 設計力あがるだろ
正しい設計のコードに
変化させるのがリファクタリングだ。
正しい設計のコードに
変化させるのがリファクタリングだ。
264デフォルトの名無しさん
2012/03/24(土) 21:36:47.86265デフォルトの名無しさん
2012/03/24(土) 21:51:30.52 オナニー? 自己満足と言いたいのかもしれないが。
仕事でやるのなら自己満足じゃないぞ。
みんなの満足。
仕事でやるのなら自己満足じゃないぞ。
みんなの満足。
266デフォルトの名無しさん
2012/03/24(土) 22:21:58.07 みんなでオナニー
267デフォルトの名無しさん
2012/03/25(日) 12:10:02.63 分散マスタベーション
268デフォルトの名無しさん
2012/04/22(日) 22:43:46.10 密に結合した処理を処理を疎になるようにするとか
処理が対象になるようにシーケンス直すとか
って意味があるリファクタリングだと思うけど
こういうのはリファクタリングっていわんの?
処理が対象になるようにシーケンス直すとか
って意味があるリファクタリングだと思うけど
こういうのはリファクタリングっていわんの?
269デフォルトの名無しさん
2012/08/05(日) 00:31:39.26 >クラス内部で別のクラスを生成しない
>>4のこの話って完全にはDIでも使わなきゃ無理だけど、
FactoryMethodで解決できるよね。
>publicメソッドの引数には、なるべくクラスを使わない。
完全抽象化クラスに類するもの限定ってなら正しいけど、
intや文字列型だけってのは無いよね。スタブ渡せば済む話だし。
>>4のこの話って完全にはDIでも使わなきゃ無理だけど、
FactoryMethodで解決できるよね。
>publicメソッドの引数には、なるべくクラスを使わない。
完全抽象化クラスに類するもの限定ってなら正しいけど、
intや文字列型だけってのは無いよね。スタブ渡せば済む話だし。
270デフォルトの名無しさん
2012/08/05(日) 01:11:40.91 言葉の揚げ足取りに終始しててウザいだけのスレになっちゃってるなw
271デフォルトの名無しさん
2012/10/14(日) 16:17:10.72 大規模アプリには
必ずリファクタリングが必要。
開発工程の一つに加えていいレベル。
必ずリファクタリングが必要。
開発工程の一つに加えていいレベル。
272デフォルトの名無しさん
2012/10/15(月) 15:52:21.57 VB6で幾度となく機能追加が行われたコードをぼんやり眺めてると
リファクタリング?何それおいしいの?
という気分になってくる。
リファクタリング?何それおいしいの?
という気分になってくる。
273デフォルトの名無しさん
2012/10/16(火) 18:14:20.05 >>272
そういうコードこそ、リファクタリングが楽しいんじゃないの?
そういうコードこそ、リファクタリングが楽しいんじゃないの?
274272
2012/10/16(火) 18:35:14.51 趣味でやるならすごく楽しい。一人でやるのなら絶対リファクタリングしてる。
けど仕事となると時間が取れない。
さらなる機能追加と他言語への移植作業用のドキュメントが優先になってまつorz
移植作業前にリファクタリングできたら解読も楽だろうになあ。
そんなことより成果物(ドキュメント)が優先だってさ。しゃーねーや。
けど仕事となると時間が取れない。
さらなる機能追加と他言語への移植作業用のドキュメントが優先になってまつorz
移植作業前にリファクタリングできたら解読も楽だろうになあ。
そんなことより成果物(ドキュメント)が優先だってさ。しゃーねーや。
276デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN リファク太
278デフォルトの名無しさん
2014/01/21(火) 23:03:30.89 リファクタリング本はかなり勉強になったな。
ぐちゃぐちゃなコードしか書けなかったのが、リファクタリングしまくってたら
最初からオブジェクト指向やらデザインパターンやらを考慮したコードが書けるようになってた。
ぐちゃぐちゃなコードしか書けなかったのが、リファクタリングしまくってたら
最初からオブジェクト指向やらデザインパターンやらを考慮したコードが書けるようになってた。
279デフォルトの名無しさん
2014/07/25(金) 01:44:17.80ID:S+8bjftN リファクタリング中にバグが見つかっても修正しちゃいけないんですか?
振る舞いが変わるわけだし。
リファクタリング原理主義者の方の意見が聞きたいです。
振る舞いが変わるわけだし。
リファクタリング原理主義者の方の意見が聞きたいです。
280デフォルトの名無しさん
2014/07/25(金) 07:34:43.94ID:FDyePLlK 好きにすれば?どうせ個人でやってんだろ
一人ならほんと楽しいよねリファクタ。
業務でリファクタなんかできねーよ
リリースしてから何年も動いてるパッケージに手入れられるわけないだろ!
一人ならほんと楽しいよねリファクタ。
業務でリファクタなんかできねーよ
リリースしてから何年も動いてるパッケージに手入れられるわけないだろ!
281デフォルトの名無しさん
2014/07/25(金) 10:51:25.65ID:nHudeAGx 業務でリファクタリングの時は、バグの種類にもよるけど基本的にはそのまま。
勿論、リファクタリング後に修正することを見越してリファクタリングすることになる。
実は、バグを見つける為にリファクタリングすることもあるので、「できねーよ」で済まない場合もあるのよ。
勿論、リファクタリング後に修正することを見越してリファクタリングすることになる。
実は、バグを見つける為にリファクタリングすることもあるので、「できねーよ」で済まない場合もあるのよ。
282デフォルトの名無しさん
2014/07/25(金) 11:26:11.42ID:PjU5XzSY バグを見つけるためにリファクタリングをすることはあるが
改修はリファクタリング前のコードに対して行うことになるなぁ
改修はリファクタリング前のコードに対して行うことになるなぁ
283デフォルトの名無しさん
2014/07/25(金) 12:21:15.76ID:CQdwbNpj リファクタリングとは
テストの合格を維持したままの
コードの修正でしょ
テストの合格を維持したままの
コードの修正でしょ
284デフォルトの名無しさん
2014/07/25(金) 12:41:48.16ID:mmV7Js8i 上を納得というか安心させるための無駄検証にコストを掛けた後だと
いじくれないというのはわかる
だがサブシステムを小分けして
その範囲内で裁量をもたせられるようにしてないのはアカン
いじくれないというのはわかる
だがサブシステムを小分けして
その範囲内で裁量をもたせられるようにしてないのはアカン
285デフォルトの名無しさん
2014/07/25(金) 13:58:36.59ID:fPj1ZcPi286デフォルトの名無しさん
2014/07/25(金) 20:12:11.75ID:zPq/iOJh リファクタリングしたがる人とは仕事したくないよね
287デフォルトの名無しさん
2014/07/25(金) 20:12:41.10ID:Fz0v1PBn でも実は一発目無計画で作ってリファクタリングするのが一番品質がいい
288デフォルトの名無しさん
2014/07/25(金) 21:18:52.98ID:JraUdqnP 一発目無計画っていうのがありえなさすぎ。
趣味のプログラミングだろそれは。
趣味のプログラミングだろそれは。
289デフォルトの名無しさん
2014/07/25(金) 22:15:52.25ID:Xbv85is1290デフォルトの名無しさん
2014/07/25(金) 23:03:10.49ID:mmV7Js8i 神ならざる身で限界を知りつつも最善を目指す手法ではないか
291デフォルトの名無しさん
2014/07/25(金) 23:24:21.34ID:oKdTZN9u 考え方の違いなんだよね。この業界に「ボーイスカウトの規則」っていう言葉があるらしい。
http://qiita.com/hirokidaichi/items/d6c473d8011bd9330e63
> ボーイスカウトが、来る前よりも帰った後の方が山をきれいにしておくことにちなんだ規則。
> ソフトウェア開発においては「モジュールをチェックインする際には、必ずチェックアウト時よりも美しくする」ことを意味する。
リファクタリングしない人って、ただ動けばいい、コードが怖くて触れない。
他の部分はいじらないですませようとしちゃう。
修正しない部分なら見て見ぬふりもいいが、修正するなら、
そのまわりを綺麗にしろと。
それが出来ない人は、バグも多いんだよ。してシンプルにしてないから。
複雑なものはバグが多い。複雑だからコードを理解していない。
理解してないからバグが出る。当たり前の話。
http://qiita.com/hirokidaichi/items/d6c473d8011bd9330e63
> ボーイスカウトが、来る前よりも帰った後の方が山をきれいにしておくことにちなんだ規則。
> ソフトウェア開発においては「モジュールをチェックインする際には、必ずチェックアウト時よりも美しくする」ことを意味する。
リファクタリングしない人って、ただ動けばいい、コードが怖くて触れない。
他の部分はいじらないですませようとしちゃう。
修正しない部分なら見て見ぬふりもいいが、修正するなら、
そのまわりを綺麗にしろと。
それが出来ない人は、バグも多いんだよ。してシンプルにしてないから。
複雑なものはバグが多い。複雑だからコードを理解していない。
理解してないからバグが出る。当たり前の話。
292デフォルトの名無しさん
2014/07/25(金) 23:31:13.15ID:zPq/iOJh そういう自己満足だけの身勝手な修正が一番たちが悪いんだよ
293デフォルトの名無しさん
2014/07/25(金) 23:33:03.76ID:oKdTZN9u >>292
なんでですか?
まずきれいなコードのほうが、メンテナンス性が高くなり
バグが減り、開発コストも下がります。
ここは、否定しませんよね?
じゃあ、最終目標は「修正」するべきであってます。
あなたは、まったく筋違いの否定をしているのでは?
なんでですか?
まずきれいなコードのほうが、メンテナンス性が高くなり
バグが減り、開発コストも下がります。
ここは、否定しませんよね?
じゃあ、最終目標は「修正」するべきであってます。
あなたは、まったく筋違いの否定をしているのでは?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 「すごいアイドル出てきた」「かわいすぎる」ラヴィット初登場の美女に視聴者驚き ≠ME櫻井もも [ヴァイヴァー★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【高市速報】小野田キミ「中国依存はリスク」断交を示唆か [931948549]
- 【んな専🏡】なんG 姫森ルーナ(・o・🍬)総合スレ🏰【ホロライブ▶】
- 【悲報】高市早苗周辺「支持層が離れるので今更発言を撤回できない」 [935793931]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
