テストも書かないでリファクタリングとかうけるw
まずな、リファクタリングでは機能追加・修正は行わない。
動作はまったく同じでコードをきれいに書き換えること。
書き換えるといっても、これなら同じ動きだろ?って推測でやってはいけない。
まずテストを書く。ユニットテストをできるように、
単一のクラスでインスタンスを作る。
汚いコードなのだからたいていは依存関係のせいで単一ではクラスが生成できない
それを生成するために、クラスの動作を書き換える。
といっても元のコードは修正しない。継承やプリプロセッサを使って
依存関係を断ち切るために既存のコードを上書きする。
どうしてもそれが不可能な場合には、決められた手順で最小のコード修正を行う
そうやって既存のクラスのユニットテストを行う。
それでやっとリファクタリングが行える。
既存のクラスのユニットテストを通るように新たなコードに修正、
もしくは新規作成して置き換える。
この手順と考え方を守ってないのはリファクタリングではない。
で?
探検
リファクタリングをただのコード修正と思ってる人へ
■ このスレッドは過去ログ倉庫に格納されています
2010/05/29(土) 17:25:56
113デフォルトの名無しさん
2011/10/10(月) 15:55:41.96 「なんかこう、俺とは一段以上下のレベルの奴しか見当たらんよなw」(キリッ
114デフォルトの名無しさん
2011/10/10(月) 16:24:50.97115デフォルトの名無しさん
2011/10/10(月) 16:48:43.88 めんどくさいからコードに対する変更はもう全部リファクタリングでいいよ
116108
2011/10/10(月) 19:15:25.35 >>109
若干かわいそうな環境かも。
機能毎に縦割りでリーダーが立ってて
「こっちは機能追加が進んでて人居ない」とか
「影響が大きい」とか言われて
とてもじゃないが変えられない。
それでも自担当の部分だけでもリファクタリングする工数が
貰えるだけマシなのかも知れんけどね。
若干かわいそうな環境かも。
機能毎に縦割りでリーダーが立ってて
「こっちは機能追加が進んでて人居ない」とか
「影響が大きい」とか言われて
とてもじゃないが変えられない。
それでも自担当の部分だけでもリファクタリングする工数が
貰えるだけマシなのかも知れんけどね。
117デフォルトの名無しさん
2011/10/10(月) 21:13:00.47 JavaのPGやってるけど
privateメソッドを修正するだけでもJAVADOCの修正とかユニットテストが更新されるからって
チーム内でそれを拒む人いるんだよなー
ってか、お前が俺のソースコピペして、俺がその責任背負わなくなくなるのが嫌なんだろwwwどうせwww
privateメソッドを修正するだけでもJAVADOCの修正とかユニットテストが更新されるからって
チーム内でそれを拒む人いるんだよなー
ってか、お前が俺のソースコピペして、俺がその責任背負わなくなくなるのが嫌なんだろwwwどうせwww
118デフォルトの名無しさん
2011/10/25(火) 13:23:05.69 リファクタリング中は考えることを止めよう
http://www.infoq.com/jp/news/2011/10/thinking-and-refactoring
http://www.infoq.com/jp/news/2011/10/thinking-and-refactoring
119デフォルトの名無しさん
2011/10/29(土) 00:57:02.72 やっぱり目的が意味不明
設計ミスならリファクタリングという形で手を出すべきじゃないし
汎用性の向上にしても次の開発やバージョンアップの仕様書があってこその修正だ
単純にリファクタリングってのが何を目的としてるのかどの文献を読んでもまったく意味不明
設計ミスならリファクタリングという形で手を出すべきじゃないし
汎用性の向上にしても次の開発やバージョンアップの仕様書があってこその修正だ
単純にリファクタリングってのが何を目的としてるのかどの文献を読んでもまったく意味不明
120デフォルトの名無しさん
2011/10/29(土) 03:24:37.60121デフォルトの名無しさん
2011/10/29(土) 05:48:50.42122デフォルトの名無しさん
2011/10/29(土) 11:34:19.34 時間と共に増大する複雑性への対処では。
書いたソースが自分たちのものになるのかで大きく価値が異なると思う。
複雑性が増すと修正にかかる工数が増えるけど、それを良しとするか悪しとするか。
書いたソースが自分たちのものになるのかで大きく価値が異なると思う。
複雑性が増すと修正にかかる工数が増えるけど、それを良しとするか悪しとするか。
123デフォルトの名無しさん
2011/10/29(土) 18:57:08.38 果てしなく続くメンテナンスと機能追加を前提として
それぞれのモジュールの精度を高めるために必要な準備作業
じゃないかな
それぞれのモジュールの精度を高めるために必要な準備作業
じゃないかな
124デフォルトの名無しさん
2011/10/29(土) 22:48:37.21 何いってるのかさっぱりわからない
じゃ、質問をかえる
その作業いつ終わるの?
じゃ、質問をかえる
その作業いつ終わるの?
125デフォルトの名無しさん
2011/10/29(土) 23:05:14.32126デフォルトの名無しさん
2011/10/29(土) 23:30:50.35 効果も含めて微ファクタリング
127デフォルトの名無しさん
2011/10/30(日) 00:00:06.96128デフォルトの名無しさん
2011/10/30(日) 00:12:36.90 最初から間違えなければいい。
129デフォルトの名無しさん
2011/10/30(日) 01:44:30.53 >>127
んー
それをコードにいれちゃうのはなんかちがうなーって思う
だって説明として仕様や設計に入ってもいないクラスが
自分の考える汎用性のためだけに入ってるってことでしょ?
まあ、昔の俺ならそういうコードいいと思ったけど
最近はこういう見切り発進みたいなコードをちっともいいと思わなくなった
むしろ余計なもん入れちゃうのってどうよ?って思う
んー
それをコードにいれちゃうのはなんかちがうなーって思う
だって説明として仕様や設計に入ってもいないクラスが
自分の考える汎用性のためだけに入ってるってことでしょ?
まあ、昔の俺ならそういうコードいいと思ったけど
最近はこういう見切り発進みたいなコードをちっともいいと思わなくなった
むしろ余計なもん入れちゃうのってどうよ?って思う
130デフォルトの名無しさん
2011/10/30(日) 02:01:00.62 余計なもんなんかいれない。
”必要だから” 入れてる。
”必要だから” 入れてる。
131デフォルトの名無しさん
2011/10/30(日) 02:32:58.38132デフォルトの名無しさん
2011/10/30(日) 09:42:26.14133デフォルトの名無しさん
2011/10/30(日) 11:29:33.88 >>129
見切り発進と思うのなら、修正した方が良いと思った内容を提案してみては。
受け入れるかは組織なり人なりタイミングによると思うけど、
少なくともうちだったら、そういう提案してくれる人は歓迎するけどなあ。
その人の持つ技術力の評価や信頼にも繋がるし。
見切り発進と思うのなら、修正した方が良いと思った内容を提案してみては。
受け入れるかは組織なり人なりタイミングによると思うけど、
少なくともうちだったら、そういう提案してくれる人は歓迎するけどなあ。
その人の持つ技術力の評価や信頼にも繋がるし。
134デフォルトの名無しさん
2011/10/30(日) 11:55:22.16135デフォルトの名無しさん
2011/10/30(日) 12:08:51.05136デフォルトの名無しさん
2011/10/31(月) 03:11:52.86137デフォルトの名無しさん
2011/10/31(月) 12:33:30.90138デフォルトの名無しさん
2011/10/31(月) 21:45:02.67139デフォルトの名無しさん
2011/11/01(火) 00:54:41.88140デフォルトの名無しさん
2011/11/01(火) 00:57:56.17 この表現でわからないならデザパタ使うと出てくるゴミクラスなんか全部該当すると思う
141デフォルトの名無しさん
2011/11/01(火) 06:03:18.76 >>139
仕様と関係ない関数は不要なので、コードはすべてmainの中に書いてくださいね
仕様と関係ない関数は不要なので、コードはすべてmainの中に書いてくださいね
142デフォルトの名無しさん
2011/11/01(火) 07:41:02.59143デフォルトの名無しさん
2011/11/01(火) 08:04:06.10144デフォルトの名無しさん
2011/11/01(火) 20:58:54.49 >>143
リファクタリングは保守の一つなのだから、
コードを修正するならば言語に関係なく発生する問題。
リファクタリングとデザパタは
特定の言語固有とか言う以前に、全く関係ない話題。
ついでにデザパタで作るのはゴミクラスではなく必要なクラス。
リファクタリングは保守の一つなのだから、
コードを修正するならば言語に関係なく発生する問題。
リファクタリングとデザパタは
特定の言語固有とか言う以前に、全く関係ない話題。
ついでにデザパタで作るのはゴミクラスではなく必要なクラス。
145デフォルトの名無しさん
2011/11/01(火) 21:19:29.93 >>142
よう、レガシー
よう、レガシー
146デフォルトの名無しさん
2011/11/01(火) 21:21:02.73 Sir! FUTURE!!
147デフォルトの名無しさん
2011/11/01(火) 22:09:32.23 他の言語では作る必要の無いクラスを作らされたら
ゴミクラスと言いたくもなるわい
ゴミクラスと言いたくもなるわい
148デフォルトの名無しさん
2011/11/01(火) 22:12:41.23 >>147
たとえばどんなの?
たとえばどんなの?
149デフォルトの名無しさん
2011/11/01(火) 22:14:56.95 他の言語では、定義する必要がない型を
定義しても、ゴミ定義とは言わないだろ。
単に、エラーを見つけやすい方法で書くか、
短いコードだから省略して書くかの違いでしか無い。
定義しても、ゴミ定義とは言わないだろ。
単に、エラーを見つけやすい方法で書くか、
短いコードだから省略して書くかの違いでしか無い。
150デフォルトの名無しさん
2011/11/01(火) 22:26:33.69151デフォルトの名無しさん
2011/11/01(火) 22:28:50.74 うん。だからそれは、インターフェースを守った
きっちりとしたアプリを作るかどうかの違い。
きっちりとしたアプリを作るかどうかの違い。
152デフォルトの名無しさん
2011/11/01(火) 22:36:13.61 きっちりしてるというのはどういう意味だ?
静的型検査という意味なら勘違いも甚だしいぞ
静的型検査という意味なら勘違いも甚だしいぞ
153デフォルトの名無しさん
2011/11/01(火) 22:41:00.77154デフォルトの名無しさん
2011/11/01(火) 23:28:25.82 >>150
ファーストクラスの関数がなかったら?
ファーストクラスの関数がなかったら?
155デフォルトの名無しさん
2011/11/01(火) 23:53:30.12156デフォルトの名無しさん
2011/11/02(水) 00:43:25.84 このように、言語によって
クラスが必要かどうかは違ってくるというのに、
設計書と呼ばれるものに、そこまでちゃんとクラスを書いているのか?
普通は書かないだろ。
だから、設計書と呼ばれているものは、実は設計書ではない。
コードこそが設計書そのものなんだ。
クラスが必要かどうかは違ってくるというのに、
設計書と呼ばれるものに、そこまでちゃんとクラスを書いているのか?
普通は書かないだろ。
だから、設計書と呼ばれているものは、実は設計書ではない。
コードこそが設計書そのものなんだ。
157デフォルトの名無しさん
2011/11/02(水) 07:35:25.31158デフォルトの名無しさん
2011/11/02(水) 21:53:07.67 ただなぁ, 世に存在するうちの設計書で,
なぜこれが必要か
といった, 設計ポリシーとともに書かれているものは, ごく稀
で, 最後には
ソース読め
状態になると思ってるんだ
なぜこれが必要か
といった, 設計ポリシーとともに書かれているものは, ごく稀
で, 最後には
ソース読め
状態になると思ってるんだ
159デフォルトの名無しさん
2011/11/03(木) 01:04:35.79 仕様書は役に立たないがテストの手順書はとても役に立つな
なにをやるための機能なのか一発でわかる
対して仕様書は嘘、間違い、抜け、バージョン違い、勘違い
更新忘れ、認識間違いばっかりになってほとんど役に立たない
仕様書いらなくね?
っていうかテスト手順書でよくね?
ちなみにおそらくテスト手順書は仕様書を見て作られてはいないだろうな
やってみて「ふーん・・・これだろ?これが仕様だろ?な?」的な感じだと思う
なにをやるための機能なのか一発でわかる
対して仕様書は嘘、間違い、抜け、バージョン違い、勘違い
更新忘れ、認識間違いばっかりになってほとんど役に立たない
仕様書いらなくね?
っていうかテスト手順書でよくね?
ちなみにおそらくテスト手順書は仕様書を見て作られてはいないだろうな
やってみて「ふーん・・・これだろ?これが仕様だろ?な?」的な感じだと思う
160デフォルトの名無しさん
2011/11/03(木) 11:16:22.26 仕様書とソース・プログラムの挙動が不一致ならバグ認定、即修正
っていうレベルのもの以外は仕様書に書くな!!!!
っていうレベルのもの以外は仕様書に書くな!!!!
161デフォルトの名無しさん
2011/11/03(木) 19:08:42.55 >>160
ショートカットとか本当にどうでもいいもののリスト作ってるひまあったら他のことやれよな
ショートカットとか本当にどうでもいいもののリスト作ってるひまあったら他のことやれよな
162デフォルトの名無しさん
2011/11/04(金) 00:04:28.66163デフォルトの名無しさん
2011/11/04(金) 20:57:42.11 うちのプロジェクトjavaソースだけでついに1万個を超えた
リファクタとかいうレベルじゃねーだろ
リファクタとかいうレベルじゃねーだろ
164デフォルトの名無しさん
2011/11/04(金) 22:40:52.09165デフォルトの名無しさん
2011/11/06(日) 10:59:30.75 javaでもすでに10年物のソースコードとかあるからな
166uy
2011/11/06(日) 16:44:42.65 リファクタリングとか、
10万行のソースコードがあったとして、
その10万行のソースコードを、読んだってレベルじゃなくて、そうとう熟知した状態で
1人で行わなきゃならない
ていうか、それできるレベルなら、多分最初から書き直したほうが綺麗に書ける
まぁそれは理想で
SE共のいってるりファクタリングは機能ごとに、ちょこっとずつ最適化していく程度のものを言ってるよね
自分の能力でソースコード全体を見渡せる範囲で何とかするリファクタリング
なんていうか、それはね
まず木で作られた線路を、途中から鉄にして、さらに途中から銅にしたようなもので、本当に器用に継ぎ接ぎをしてるだけ
その継ぎ接ぎ部分はとてもシビアになるし、バグが出ても特定不可能で、
「よくわかんないけど、○○にすると落ちるから☆☆にしといてwwwwwwwwwwwwwっうぇwwwwなんで落ちてんのwwwっうぇwwww」みたいな状況にもなりかねない
ソース全体を見渡しているわけでもないリファクタリング作業なんてのは、あまりやりすぎると
ゼロから書き直す以上の労力をいつの間にか注いでいる事にもなりかねないので
最低限以上はやっちゃいけない
10万行のソースコードがあったとして、
その10万行のソースコードを、読んだってレベルじゃなくて、そうとう熟知した状態で
1人で行わなきゃならない
ていうか、それできるレベルなら、多分最初から書き直したほうが綺麗に書ける
まぁそれは理想で
SE共のいってるりファクタリングは機能ごとに、ちょこっとずつ最適化していく程度のものを言ってるよね
自分の能力でソースコード全体を見渡せる範囲で何とかするリファクタリング
なんていうか、それはね
まず木で作られた線路を、途中から鉄にして、さらに途中から銅にしたようなもので、本当に器用に継ぎ接ぎをしてるだけ
その継ぎ接ぎ部分はとてもシビアになるし、バグが出ても特定不可能で、
「よくわかんないけど、○○にすると落ちるから☆☆にしといてwwwwwwwwwwwwwっうぇwwwwなんで落ちてんのwwwっうぇwwww」みたいな状況にもなりかねない
ソース全体を見渡しているわけでもないリファクタリング作業なんてのは、あまりやりすぎると
ゼロから書き直す以上の労力をいつの間にか注いでいる事にもなりかねないので
最低限以上はやっちゃいけない
167デフォルトの名無しさん
2011/11/06(日) 16:52:16.13 >>166
お前は、ただのコード修正をリファクタリングと言ってるだけだね。
リファクタリングは単なる「コード修正」とは違うもの。
リファクタリングは「既存の動きに影響を与えない方法を使ってコードを修正すること」
既存の動きに影響を与えない方法ってのがあるんだよ。
これを使わないとリファクタリングにはならない。
行き当たりばったりの思いつき修正とはわけが違う。
論理的に考えぬかれた体系化されたテクニック。
それカタログ化して解説した本が、世の中にでてるリファクタリング本
お前は、ただのコード修正をリファクタリングと言ってるだけだね。
リファクタリングは単なる「コード修正」とは違うもの。
リファクタリングは「既存の動きに影響を与えない方法を使ってコードを修正すること」
既存の動きに影響を与えない方法ってのがあるんだよ。
これを使わないとリファクタリングにはならない。
行き当たりばったりの思いつき修正とはわけが違う。
論理的に考えぬかれた体系化されたテクニック。
それカタログ化して解説した本が、世の中にでてるリファクタリング本
168デフォルトの名無しさん
2011/11/06(日) 17:24:22.30 >リファクタリングとか、
>10万行のソースコードがあったとして、
>その10万行のソースコードを、読んだってレベルじゃなくて、そうとう熟知した状態で
>1人で行わなきゃならない
>ていうか、それできるレベルなら、多分最初から書き直したほうが綺麗に書ける
とてもじゃないが、まともに教育を受けた人間の書いた日本語には見えない。
>10万行のソースコードがあったとして、
>その10万行のソースコードを、読んだってレベルじゃなくて、そうとう熟知した状態で
>1人で行わなきゃならない
>ていうか、それできるレベルなら、多分最初から書き直したほうが綺麗に書ける
とてもじゃないが、まともに教育を受けた人間の書いた日本語には見えない。
169デフォルトの名無しさん
2011/11/06(日) 21:45:33.79 > 「既存の動きに影響を与えない方法を使ってコードを修正すること」
ここで仕様をリファクターする必要を考慮しないのがリファクタリング厨
ここで仕様をリファクターする必要を考慮しないのがリファクタリング厨
170デフォルトの名無しさん
2011/11/06(日) 22:13:45.01171デフォルトの名無しさん
2011/11/06(日) 22:17:40.89 ユーザーインターフェースかわんなきゃリファクタリングと言ってみるtest
172デフォルトの名無しさん
2011/11/06(日) 23:12:56.73 >>170
ちゃんと読め。
ちゃんと読め。
173デフォルトの名無しさん
2011/11/07(月) 02:11:07.98 > 仕様をリファクター
はぁ?
んなもんリファクタリングじゃあなーいと言ってやれ。ドキュメントをリファクタリングしちゃるとか言ってる奴、それもリファクタリングじゃねーぞコラ。そういうのは、リストラクチャリング(再構築)というのだッ。
はぁ?
んなもんリファクタリングじゃあなーいと言ってやれ。ドキュメントをリファクタリングしちゃるとか言ってる奴、それもリファクタリングじゃねーぞコラ。そういうのは、リストラクチャリング(再構築)というのだッ。
174デフォルトの名無しさん
2011/11/07(月) 06:29:39.93 仕様変更にまで手をいれない修正だったら俺はする意味ないと思うけどね
いいと思ってるのは自分だけっていう典型だと思う
いいと思ってるのは自分だけっていう典型だと思う
175デフォルトの名無しさん
2011/11/07(月) 22:24:06.07 試験とか全部やり直しになるけどそこまでコードに重心置けないです
しかも動作は変わらないとかね
しかも動作は変わらないとかね
176デフォルトの名無しさん
2011/11/07(月) 22:56:57.01177デフォルトの名無しさん
2011/11/08(火) 00:14:11.06 >>176
とかいって逃げたいから自分の言葉で説明しないで本に書いてあるとか言ってるんでしょ?
わかるよ
説明できない人ってみんなそうだもの
あんたもいっしょ
残念だけどここ本質なのよね
そもそもリファクタリングっていう行動自体意味がわからない
将来どう変わるか?の仕様もないのに汎用性?
何に対していってるの?あれほど仕様書に重点をおいてるのに
なんでコードレベルでソフトウェアの方向性がわかるの?
それと何度もいうけど全体の工数からいったら実装なんてすげー短い期間なのに
リファクタリングなんてしなくていいんだよ
馬鹿かよ
設計や仕様決めに時間割いたほうがいいの、わかった?御馬鹿ちゃん?
人件費みたって派遣PGと正社員様様と比べて比較になるわけねーだろ
そんな糞みたいな脳みそしかないんだったら技術者なんてやめちゃえばいいのに
とかいって逃げたいから自分の言葉で説明しないで本に書いてあるとか言ってるんでしょ?
わかるよ
説明できない人ってみんなそうだもの
あんたもいっしょ
残念だけどここ本質なのよね
そもそもリファクタリングっていう行動自体意味がわからない
将来どう変わるか?の仕様もないのに汎用性?
何に対していってるの?あれほど仕様書に重点をおいてるのに
なんでコードレベルでソフトウェアの方向性がわかるの?
それと何度もいうけど全体の工数からいったら実装なんてすげー短い期間なのに
リファクタリングなんてしなくていいんだよ
馬鹿かよ
設計や仕様決めに時間割いたほうがいいの、わかった?御馬鹿ちゃん?
人件費みたって派遣PGと正社員様様と比べて比較になるわけねーだろ
そんな糞みたいな脳みそしかないんだったら技術者なんてやめちゃえばいいのに
178デフォルトの名無しさん
2011/11/08(火) 01:14:10.32 >>177
コンプレックス刺激されすぎw
コンプレックス刺激されすぎw
179デフォルトの名無しさん
2011/11/08(火) 01:17:58.36 単純なシチュエーションだと、今動いているものがあって
それに仕様変更や機能追加をする"前"にリファクタリングしたり
えーちょっと何やってんのか分からなぁ〜いって時に、リファクタリングして今の動きを確認したりする鴨
さすがに何も用事が無いのにリファクタリングはしないぞw
それに仕様変更や機能追加をする"前"にリファクタリングしたり
えーちょっと何やってんのか分からなぁ〜いって時に、リファクタリングして今の動きを確認したりする鴨
さすがに何も用事が無いのにリファクタリングはしないぞw
180デフォルトの名無しさん
2011/11/08(火) 06:35:51.23 >>179
ローカルのHDDの中で勝手にやってろレベルだなw
ローカルのHDDの中で勝手にやってろレベルだなw
181デフォルトの名無しさん
2011/11/08(火) 08:17:23.29182デフォルトの名無しさん
2011/11/08(火) 12:07:50.87 仕様書を大雑把に
・機能仕様書:ユーザの観点からシステムがどのように動くか記述する
・技術仕様書:プログラムの内部実装について記述する
に分けたとき、機能仕様書を変更しないのがリファクタリング
技術仕様書は変更する必要がある
と、俺は解釈してるんだけど
・機能仕様書:ユーザの観点からシステムがどのように動くか記述する
・技術仕様書:プログラムの内部実装について記述する
に分けたとき、機能仕様書を変更しないのがリファクタリング
技術仕様書は変更する必要がある
と、俺は解釈してるんだけど
183デフォルトの名無しさん
2011/11/08(火) 22:53:38.54184デフォルトの名無しさん
2011/11/09(水) 00:34:09.76 リファクタリングの価値は
リファクタリングしたことによる将来のメンテナンスコストの低減分だと思うから、
純粋なリファクタリングをする意味ってあると思うけどね。
まあ、少なくとも、作ったコードを客に出すのが仕事の人は、
リファクタリングの価値を見出すのは難しいだろうね。
お客が腐ったコードをメンテナンスし続ける費用を負担してくれる限り、
工数がかかる方が、お金になるだろうから。
リファクタリングしたことによる将来のメンテナンスコストの低減分だと思うから、
純粋なリファクタリングをする意味ってあると思うけどね。
まあ、少なくとも、作ったコードを客に出すのが仕事の人は、
リファクタリングの価値を見出すのは難しいだろうね。
お客が腐ったコードをメンテナンスし続ける費用を負担してくれる限り、
工数がかかる方が、お金になるだろうから。
185デフォルトの名無しさん
2011/11/09(水) 01:07:17.87 寧ろそうやって放置されたコードのメンテナンスの際にESP能力を発揮しながらリファクタリングして日銭稼いでますが何か。
186デフォルトの名無しさん
2011/11/09(水) 22:25:08.24187デフォルトの名無しさん
2011/11/09(水) 23:19:04.89 >>186
同じようなレベルの人がやったら対して変わらんだろうね。
時間がなくて小手先で直したのを時間が取れる時にまともに直すとかかしら。
あほなプログラマが書いた動くけどわけわらんプログラムを
レビューで突き返したりするのもリファクタリングになると思うけど、放置するの?
同じようなレベルの人がやったら対して変わらんだろうね。
時間がなくて小手先で直したのを時間が取れる時にまともに直すとかかしら。
あほなプログラマが書いた動くけどわけわらんプログラムを
レビューで突き返したりするのもリファクタリングになると思うけど、放置するの?
188デフォルトの名無しさん
2011/11/10(木) 00:11:30.20189デフォルトの名無しさん
2011/11/10(木) 02:48:37.98190デフォルトの名無しさん
2011/11/10(木) 02:49:24.36191デフォルトの名無しさん
2011/11/10(木) 06:19:17.82192デフォルトの名無しさん
2011/11/10(木) 22:10:19.47 http://www.os.cis.iwate-u.ac.jp/wikky/wikky.cgi?%E7%AC%AC2%E7%AB%A0%EF%BC%9A%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E5%8E%9F%E5%89%87
2.1 リファクタリングの歴史
リファクタリングの先駆け:1980年代以降Smalltalkの仕事をしていたWard CunninghamとKent Beckの2人
Smalltalkはリファクタリングに特に向いている環境
コンパイル、リンク、実行のサイクルが短く、コードを気軽に書き換えることができる
彼ら2人の考えはSmalltalk文化にリファクタリングの概念を定着させた
筆者「リファクタリング?そこまで重要ではないよ」→Kentと同じプロジェクトに携わり、
Kentのリファクタリングを目の当たりにする→ソフトウェアの生産性、品質に明らかな違いが…→筆者「!!」
上の経験からリファクタリングを重要視するようになった
2.1 リファクタリングの歴史
リファクタリングの先駆け:1980年代以降Smalltalkの仕事をしていたWard CunninghamとKent Beckの2人
Smalltalkはリファクタリングに特に向いている環境
コンパイル、リンク、実行のサイクルが短く、コードを気軽に書き換えることができる
彼ら2人の考えはSmalltalk文化にリファクタリングの概念を定着させた
筆者「リファクタリング?そこまで重要ではないよ」→Kentと同じプロジェクトに携わり、
Kentのリファクタリングを目の当たりにする→ソフトウェアの生産性、品質に明らかな違いが…→筆者「!!」
上の経験からリファクタリングを重要視するようになった
193デフォルトの名無しさん
2011/11/10(木) 23:19:30.99 >>192
そのストーリーって重要な部分なの?w
しかもそんな馬鹿みたいな長文書いて大事な要点がちっとも書いてないじゃん
>ソフトウェアの生産性、品質に明らかな違いが…
明らかに大事なのってこの部分の詳細だろ
何がよくて品質がどうよくなったのか?
だろ?
お前の国語の能力低すぎてリファクタリングまで怪しくなるわw
そのストーリーって重要な部分なの?w
しかもそんな馬鹿みたいな長文書いて大事な要点がちっとも書いてないじゃん
>ソフトウェアの生産性、品質に明らかな違いが…
明らかに大事なのってこの部分の詳細だろ
何がよくて品質がどうよくなったのか?
だろ?
お前の国語の能力低すぎてリファクタリングまで怪しくなるわw
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 自分でやるんじゃなくて他人にやらせるんだろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★3 [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【朗報】日銀植田総裁「高市さんからの要望は特になかった」 [519511584]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 高市早苗政権「経済的威圧をしてくる国はリスク」 トランプぴょんぴょん政権さん…… [175344491]
