機能追加や変更した時に、全部テストしてるでしょ?
いつもやってることじゃん
探検
リファクタリングすると全部テストしろと言ってくるやつの矛盾
■ このスレッドは過去ログ倉庫に格納されています
2018/04/15(日) 13:13:44.63
189仕様書無しさん
2018/04/20(金) 19:05:43.41190仕様書無しさん
2018/04/20(金) 21:52:25.40 問題というのは人間の主観的認識なのだから
人間の問題でない問題などというものがあろうか?
人間の問題でない問題などというものがあろうか?
191仕様書無しさん
2018/04/20(金) 23:16:13.44192仕様書無しさん
2018/04/20(金) 23:20:25.44 正確に言えばコードの修正を始めるまでの
コードを解析している時間だな
たった一行の修正なのにこんなにするんですか!?って
言われるぐらいの費用になるのは、"コードのタイピング"には
含まれない部分がたくさんある
コードを解析している時間だな
たった一行の修正なのにこんなにするんですか!?って
言われるぐらいの費用になるのは、"コードのタイピング"には
含まれない部分がたくさんある
193KAC
2018/04/20(金) 23:23:17.89 >>192
で、コードを解析する時間は
リファクタリング > 一部修正
だって理解できないの?
「リファクタリング終わったコードを修正する時間は短い」
という主張に誤りは無いが、
リファクタリングする時間を無視してどうする。
で、コードを解析する時間は
リファクタリング > 一部修正
だって理解できないの?
「リファクタリング終わったコードを修正する時間は短い」
という主張に誤りは無いが、
リファクタリングする時間を無視してどうする。
194仕様書無しさん
2018/04/20(金) 23:23:47.05195仕様書無しさん
2018/04/20(金) 23:28:17.97 >>193
> で、コードを解析する時間は
解析する時間って言ったのに、お前
↓
> リファクタリング > 一部修正
修正する時間に話がすり替わってるじゃんw
解析する時間、すなわち複雑なコードをよんで
それがなにを意味しているか、どう書換えれば
正しく動くかを、考える時間は
リファクタリングしながら解析する時間 < 一部修正のために解析する時間
こうだからな。
ぐちゃぐちゃに絡み合った紐の束から、少しづつ結び目をときながら、
適切な一本を抜き出すのと、結び目をとかずに適切な一本だけを抜き出すの
どちらが簡単なのかを考えればわかるだろ
スパゲティコードとはよく言ったものだw
> で、コードを解析する時間は
解析する時間って言ったのに、お前
↓
> リファクタリング > 一部修正
修正する時間に話がすり替わってるじゃんw
解析する時間、すなわち複雑なコードをよんで
それがなにを意味しているか、どう書換えれば
正しく動くかを、考える時間は
リファクタリングしながら解析する時間 < 一部修正のために解析する時間
こうだからな。
ぐちゃぐちゃに絡み合った紐の束から、少しづつ結び目をときながら、
適切な一本を抜き出すのと、結び目をとかずに適切な一本だけを抜き出すの
どちらが簡単なのかを考えればわかるだろ
スパゲティコードとはよく言ったものだw
196仕様書無しさん
2018/04/20(金) 23:42:05.55197仕様書無しさん
2018/04/21(土) 00:05:35.08 あぁ、問題は全て、人間の主観的な問題!というのが間違いだよ、
客観的な問題も有るよっていったのが通じてないのか
話が分からんやつは困るな
客観的な問題も有るよっていったのが通じてないのか
話が分からんやつは困るな
198KAC
2018/04/21(土) 00:14:22.07 >>195
お前さん、開発したこと無いの?
一部の修正の為に必要な解析情報量と
リファクタリングに必要な解析情報量の
違いすらわからないなら
解析の仕方がおかしいか、
内容を十分理解せずにリファクタリングしてるって事。
お前さん、開発したこと無いの?
一部の修正の為に必要な解析情報量と
リファクタリングに必要な解析情報量の
違いすらわからないなら
解析の仕方がおかしいか、
内容を十分理解せずにリファクタリングしてるって事。
199仕様書無しさん
2018/04/21(土) 00:17:57.77 >リファクタリングしながら解析する時間 < 一部修正のために解析する時間
個人的経験から断固として異議を唱えたい
個人的経験から断固として異議を唱えたい
202仕様書無しさん
2018/04/21(土) 00:23:24.27 つーかさ、誰も100%納得がいくまで
リファクタリングしろなんていってないんだよ。
修正する所、どちらにしろテストが必要な所
関係がある所を、少しづつやればいい。
時間がかかるっていうのは、それはいつも手遅れの
コードばかりだって自覚有るからじゃねーの?
リファクタリングしろなんていってないんだよ。
修正する所、どちらにしろテストが必要な所
関係がある所を、少しづつやればいい。
時間がかかるっていうのは、それはいつも手遅れの
コードばかりだって自覚有るからじゃねーの?
203仕様書無しさん
2018/04/21(土) 00:24:30.08 でもメリットが欠片も見えないな
204仕様書無しさん
2018/04/21(土) 00:25:43.38206仕様書無しさん
2018/04/21(土) 00:26:42.60 リファクタリングをしたから具体的にどういうコードがどうなってそれでどのくらい得になるのかわからない
210仕様書無しさん
2018/04/21(土) 00:29:45.71 肝心のマーチン本からして何が得なのかよくわからん有様
211仕様書無しさん
2018/04/21(土) 00:31:35.22 本読んでもコードがどうなるかも分からんの?
212仕様書無しさん
2018/04/21(土) 00:33:26.89 理解がちょっとづつ歪んでいくな
リファクタでも同じように処理をちょっとずつゆがめて気が付かずにいるにちがいない
リファクタでも同じように処理をちょっとずつゆがめて気が付かずにいるにちがいない
214仕様書無しさん
2018/04/21(土) 00:35:02.56 https://blogs.yahoo.co.jp/mathweather4067/5819997.html
> 指導のポイント
> ここの指導は、難しい。なかなか理解されないのが、現状です。
>
> まずは、「等式の性質」を思い出させることが必要でしょう。
>
> 次に、「1次方程式の解法」も思い出させます。
>
> その後、1次方程式の解法と対比させながら、進めていきます。
>
> 「等式の変形」は、等式をその目的に応じて変形することの良さが理解できていないと、
> 何のためにするのかがわからないまま、機械的に進めてしまいます。
>
> 導入部分を大事にしたいですね。
まさにコレだな
> 指導のポイント
> ここの指導は、難しい。なかなか理解されないのが、現状です。
>
> まずは、「等式の性質」を思い出させることが必要でしょう。
>
> 次に、「1次方程式の解法」も思い出させます。
>
> その後、1次方程式の解法と対比させながら、進めていきます。
>
> 「等式の変形」は、等式をその目的に応じて変形することの良さが理解できていないと、
> 何のためにするのかがわからないまま、機械的に進めてしまいます。
>
> 導入部分を大事にしたいですね。
まさにコレだな
216仕様書無しさん
2018/04/21(土) 00:35:28.22217仕様書無しさん
2018/04/21(土) 00:38:32.40218仕様書無しさん
2018/04/21(土) 00:42:39.66 いやリファクタ野郎のことね
219仕様書無しさん
2018/04/21(土) 00:43:50.39 お前のことだよw
220仕様書無しさん
2018/04/21(土) 00:45:19.25 >>214
そいつの説明が悪すぎる、良さってなんやねん
理解してもらえないのではない
自分が理解もせずに良いものだと思い込んでいるだけだ
本当に理解してたら必要性や可能になることを明確に説明できるはず
そいつの説明が悪すぎる、良さってなんやねん
理解してもらえないのではない
自分が理解もせずに良いものだと思い込んでいるだけだ
本当に理解してたら必要性や可能になることを明確に説明できるはず
221仕様書無しさん
2018/04/21(土) 00:53:21.22 本当に理解している本の作者が
十分以上に説明してるんだけどなぁ
十分以上に説明してるんだけどなぁ
222仕様書無しさん
2018/04/21(土) 00:57:49.37 修正ってほんの数行程度なのに対して
リファクタリングってほぼ全域書き換えでしょ?
そりゃ影響範囲が違いすぎるよ
リファクタリングってほぼ全域書き換えでしょ?
そりゃ影響範囲が違いすぎるよ
223仕様書無しさん
2018/04/21(土) 01:00:47.75 読んだ上でいってんのか?
142 自分:仕様書無しさん[sage] 投稿日:2018/04/19(木) 00:37:19.05
>>141
重要なのは手遅れになる前にこまめにやることだよね
大規模リファクタリングなんてのはあってはだめ
リファクタリングだけのための作業なんて持っての他
142 自分:仕様書無しさん[sage] 投稿日:2018/04/19(木) 00:37:19.05
>>141
重要なのは手遅れになる前にこまめにやることだよね
大規模リファクタリングなんてのはあってはだめ
リファクタリングだけのための作業なんて持っての他
224仕様書無しさん
2018/04/21(土) 01:19:48.95 大規模リファクタリングもありえるよ
こまめにって言ってるのは、せいぜい関数レベルのリファクタリングの話でしょ
まだそれぐらいしか任せてもらえない立場なのかもしれないが、リファクタリングってそれだけじゃないから
こまめにって言ってるのは、せいぜい関数レベルのリファクタリングの話でしょ
まだそれぐらいしか任せてもらえない立場なのかもしれないが、リファクタリングってそれだけじゃないから
225仕様書無しさん
2018/04/21(土) 06:51:17.73 じゃこう考えよう
リファクタリングは
テストコードのデバッグ
リファクタリングは
テストコードのデバッグ
226仕様書無しさん
2018/04/21(土) 07:13:19.41 もうコーディング=リファクタリングでええやん
228仕様書無しさん
2018/04/21(土) 08:09:45.92 なんで、こんな派遣すら首になるようなリファクタバカを相手にしてるの?
基地外に何言っても無駄だよ。
相手の言葉を聞く能力がないからキチガイにして派遣すら首になってんだから。
基地外に何言っても無駄だよ。
相手の言葉を聞く能力がないからキチガイにして派遣すら首になってんだから。
230仕様書無しさん
2018/04/21(土) 09:04:26.73 あれ?
232仕様書無しさん
2018/04/21(土) 11:12:38.42 なぜだろう
234仕様書無しさん
2018/04/21(土) 12:10:29.62 どんなきれいなソースコードでも
プログラムから仕様を起こすのは大変
だから現場が仕様を忘れる前に、再開発をするのが正しい
つまり、リファクタリングなんぞ不要
プログラムから仕様を起こすのは大変
だから現場が仕様を忘れる前に、再開発をするのが正しい
つまり、リファクタリングなんぞ不要
235仕様書無しさん
2018/04/21(土) 12:12:22.10 やっぱ
日本人のソフト開発って
土木工事想定なのな
日本人のソフト開発って
土木工事想定なのな
236仕様書無しさん
2018/04/21(土) 12:14:21.71 日本は土建と同じ構造
世界は基本的に内製
世界は基本的に内製
237仕様書無しさん
2018/04/21(土) 23:35:59.80 CIAすらアマゾンに開発委託したってのに
240仕様書無しさん
2018/04/22(日) 08:54:37.71 リプレースって、普通の文脈だとシステム置き換えじゃねーの?
コード周りの文脈でリプレースなんて表現するのか?
コード周りの文脈でリプレースなんて表現するのか?
241仕様書無しさん
2018/04/22(日) 11:36:40.79 >大規模リファクタリングもありえるよ
大規模リファクタリングとは
リプレイスの事ではないかと言う主張だよ
大規模リファクタリングとは
リプレイスの事ではないかと言う主張だよ
242仕様書無しさん
2018/04/22(日) 11:37:50.25 どうでもいい
243仕様書無しさん
2018/04/22(日) 11:52:15.63 リプレースってハードウェア更新でしょ?
5年ごとにハードウェアを最新にして、ついでにソフトウェアも新ハード新OS向けにテストしますよと
で、ほとんどはリビルドで済む話だけど
どさくさにまぎれてちょっと不具合修正しましょうとか機能追加して欲しいとなる
そこにリファクタリングする余地は確かに出てくる
本来必要ないのに修正するという意味ではいかにもリファクタリングだ
5年ごとにハードウェアを最新にして、ついでにソフトウェアも新ハード新OS向けにテストしますよと
で、ほとんどはリビルドで済む話だけど
どさくさにまぎれてちょっと不具合修正しましょうとか機能追加して欲しいとなる
そこにリファクタリングする余地は確かに出てくる
本来必要ないのに修正するという意味ではいかにもリファクタリングだ
246仕様書無しさん
2018/04/22(日) 14:21:37.97 大規模リファクタリングなんてあってはならないと言っちゃった以上、「俺のリファクタリング」より大規模なものは、
リプレースでもなんでもいいけどリファクタリング以外のなにかでないと困るんだもんね
リプレースでもなんでもいいけどリファクタリング以外のなにかでないと困るんだもんね
249仕様書無しさん
2018/04/22(日) 14:48:42.49250仕様書無しさん
2018/04/22(日) 14:49:01.88 > リプレースでもなんでもいいけどリファクタリング以外のなにかでないと困るんだもんね
普通にバージョンアップでは?
普通にバージョンアップでは?
252仕様書無しさん
2018/04/22(日) 14:52:10.53 >>246
> 大規模リファクタリングなんてあってはならないと言っちゃった以上
お前意味分かってんのか?
大規模リファクタリングなんてあってはいけないっていうのは
許されるのは小規模(せいぜい中規模)リファクタリングまでで
リファクタリングだけを大規模にやってはいけないないってことなんだが?
> 大規模リファクタリングなんてあってはならないと言っちゃった以上
お前意味分かってんのか?
大規模リファクタリングなんてあってはいけないっていうのは
許されるのは小規模(せいぜい中規模)リファクタリングまでで
リファクタリングだけを大規模にやってはいけないないってことなんだが?
253仕様書無しさん
2018/04/22(日) 14:56:24.55 なんで大規模リファクタリングがあってはならないのかというと
リファクタリングは、機能変更の中に含まれる、
通常のソースコード変更時に、こまめに行うものだから
大規模リファクタリングが必要になるのは、こまめにリファクタリングしてないで
ソースコードをどんどん劣化させ、限界がきたから作り直す
(それもリファクタリングではない手法で)となってる場合が多い。
大規模リファクタリングのほとんどは単なる改修という意味になっていて
リファクタリングとなってない事が多い
リファクタリングは、機能変更の中に含まれる、
通常のソースコード変更時に、こまめに行うものだから
大規模リファクタリングが必要になるのは、こまめにリファクタリングしてないで
ソースコードをどんどん劣化させ、限界がきたから作り直す
(それもリファクタリングではない手法で)となってる場合が多い。
大規模リファクタリングのほとんどは単なる改修という意味になっていて
リファクタリングとなってない事が多い
254仕様書無しさん
2018/04/22(日) 14:58:32.10 >>243
> 本来必要ないのに修正するという意味ではいかにもリファクタリングだ
何だその定義?
外部的振る舞いを変えずに理解や修正が簡単になるように
内部構造を改善することだけが「いかにもリファクタリング」って
言って良いんだよ。
必要ないのに修正するのがリファクタリングなんて定義初めて聞いたわw
どーこーの、定義ですか?ソースくださいw
> 本来必要ないのに修正するという意味ではいかにもリファクタリングだ
何だその定義?
外部的振る舞いを変えずに理解や修正が簡単になるように
内部構造を改善することだけが「いかにもリファクタリング」って
言って良いんだよ。
必要ないのに修正するのがリファクタリングなんて定義初めて聞いたわw
どーこーの、定義ですか?ソースくださいw
255仕様書無しさん
2018/04/22(日) 15:01:25.15 >>243
> で、ほとんどはリビルドで済む話だけど
> どさくさにまぎれてちょっと不具合修正しましょうとか
それは不具合修正であってリファクタリングではない
(外部的振る舞いが変わっている)
> 機能追加して欲しいとなる
それは機能追加であってリファクタリングではない
(外部的振る舞いが変わっている)
リファクタリングというのは、不具合修正や機能追加を行う際に
行うもので、不具合修正や機能追加でやる内容の一部
リファクタリング or 不具合修正 or 機能追加 ではない
不具合修正(リファクタリング含む) or 機能追加(リファクタリング含む)
である
> で、ほとんどはリビルドで済む話だけど
> どさくさにまぎれてちょっと不具合修正しましょうとか
それは不具合修正であってリファクタリングではない
(外部的振る舞いが変わっている)
> 機能追加して欲しいとなる
それは機能追加であってリファクタリングではない
(外部的振る舞いが変わっている)
リファクタリングというのは、不具合修正や機能追加を行う際に
行うもので、不具合修正や機能追加でやる内容の一部
リファクタリング or 不具合修正 or 機能追加 ではない
不具合修正(リファクタリング含む) or 機能追加(リファクタリング含む)
である
257仕様書無しさん
2018/04/22(日) 15:14:25.01 >>249
俺自身は発言の中でリプレースとはどういうものかとはなにも規定してませんが
まぁ外部的振る舞いという面で考えると、変わる場合もあれば変わらない場合もあるよね当然
で、たまたま外部的振る舞いが変わらなかったとしても、それをリファクタリングとは呼ばないよね
俺自身は発言の中でリプレースとはどういうものかとはなにも規定してませんが
まぁ外部的振る舞いという面で考えると、変わる場合もあれば変わらない場合もあるよね当然
で、たまたま外部的振る舞いが変わらなかったとしても、それをリファクタリングとは呼ばないよね
260仕様書無しさん
2018/04/22(日) 15:21:57.33 > で、たまたま外部的振る舞いが変わらなかったとしても、それをリファクタリングとは呼ばないよね
そりゃそうだろうね。
リファクタリングは動きを変えないために、
特定の手順にしたがってソースコードを修正する
http://shop.ohmsha.co.jp/shopdetail/000000003881/
ここの詳細目次の、5章(は解説なので正確には6章)から
その手順がリファクタリング・カタログとしてまとめられてる。
これを読むと、このやり方なら動きが変わるわけないなってわかるはず。
そしてもう一つ重要なのはテスト。テストによって
外部的振る舞いが変わらないことを保証する
だから、たまたま外部的振る舞いが変わらないっていうのは
テストを実行してないんじゃないかと思われる
テストを実行して、外部的振る舞いが変わらないのを確認するのが
リファクタリングだから、修正のたびに何度も "意図的に" 外部的振る舞いが
変わってないことを確認してる(だからたまたまなんて思わない)
そりゃそうだろうね。
リファクタリングは動きを変えないために、
特定の手順にしたがってソースコードを修正する
http://shop.ohmsha.co.jp/shopdetail/000000003881/
ここの詳細目次の、5章(は解説なので正確には6章)から
その手順がリファクタリング・カタログとしてまとめられてる。
これを読むと、このやり方なら動きが変わるわけないなってわかるはず。
そしてもう一つ重要なのはテスト。テストによって
外部的振る舞いが変わらないことを保証する
だから、たまたま外部的振る舞いが変わらないっていうのは
テストを実行してないんじゃないかと思われる
テストを実行して、外部的振る舞いが変わらないのを確認するのが
リファクタリングだから、修正のたびに何度も "意図的に" 外部的振る舞いが
変わってないことを確認してる(だからたまたまなんて思わない)
261仕様書無しさん
2018/04/22(日) 15:23:41.48262仕様書無しさん
2018/04/22(日) 15:24:49.90 意図的に外部的振る舞いが変わらない形で修正して
確認するのがリファクタリングだから、
たまたま動きが変わらないのは、単なるソースコードの変更ってことか
多いんだよな、単なるソースコードの変更をリファクタリングとか言ってるやつ
確認するのがリファクタリングだから、
たまたま動きが変わらないのは、単なるソースコードの変更ってことか
多いんだよな、単なるソースコードの変更をリファクタリングとか言ってるやつ
264仕様書無しさん
2018/04/22(日) 15:29:59.37 プログラム全体に波及するような設計の変更を
こまめにやるためのテクニックも↓に書いてありますよ。
> http://shop.ohmsha.co.jp/shopdetail/000000003881/
> ここの詳細目次の、5章(は解説なので正確には6章)から
> その手順がリファクタリング・カタログとしてまとめられてる。
> これを読むと、このやり方なら動きが変わるわけないなってわかるはず。
えいやってやるしかないと思ってるのは
単にその力がないだけ
こまめにやるためのテクニックも↓に書いてありますよ。
> http://shop.ohmsha.co.jp/shopdetail/000000003881/
> ここの詳細目次の、5章(は解説なので正確には6章)から
> その手順がリファクタリング・カタログとしてまとめられてる。
> これを読むと、このやり方なら動きが変わるわけないなってわかるはず。
えいやってやるしかないと思ってるのは
単にその力がないだけ
265仕様書無しさん
2018/04/22(日) 15:32:00.64 テストしないでコード整理するのも時には必要
あまりにも悲惨なコードに短時間で多数の機能を追加しなきゃならん時とかね
多少のミスは割り切ってリファクタリングして機能追加して全体を手動テストして納品する
俺はこれをエクストリームリファクタリングと呼んでる
厳密なリファクタリング信者からすると気持ちわるいかもしれないが生産性は高い
あまりにも悲惨なコードに短時間で多数の機能を追加しなきゃならん時とかね
多少のミスは割り切ってリファクタリングして機能追加して全体を手動テストして納品する
俺はこれをエクストリームリファクタリングと呼んでる
厳密なリファクタリング信者からすると気持ちわるいかもしれないが生産性は高い
266仕様書無しさん
2018/04/22(日) 15:35:23.66267仕様書無しさん
2018/04/22(日) 15:35:46.27 経験が少ないと、大規模リファクタリングの必要性に直面する状況が想像できないかもしれない
そういう場面も多々あるもんだけどね
そういう場面も多々あるもんだけどね
268仕様書無しさん
2018/04/22(日) 15:35:59.41 >>259
井の中の蛙と大海の大ウミガメの違いと言えばおわかりになるでしょうか
井の中の蛙と大海の大ウミガメの違いと言えばおわかりになるでしょうか
269仕様書無しさん
2018/04/22(日) 15:39:24.39271仕様書無しさん
2018/04/22(日) 15:40:31.92 >>267
× 経験が少ないと、大規模リファクタリングの必要性に直面する状況が想像できないかもしれない
○ 経験が少ないと、大規模 改修 の必要性に直面する状況が想像できないかもしれない
なんでリファクタリングじゃないものを
リファクタリングって呼ぶんですか?
リファクタリングを単なる改修の意味で使わないでください
× 経験が少ないと、大規模リファクタリングの必要性に直面する状況が想像できないかもしれない
○ 経験が少ないと、大規模 改修 の必要性に直面する状況が想像できないかもしれない
なんでリファクタリングじゃないものを
リファクタリングって呼ぶんですか?
リファクタリングを単なる改修の意味で使わないでください
272仕様書無しさん
2018/04/22(日) 15:41:21.46 >>270
> あの基本書の内容を踏襲していない行為をリファクタリングとは呼びませんよ?
そうですね。基本書の内容を踏襲していない行為は
リファクタリングと呼んではいけません。
ただの改修と言いましょう
> あの基本書の内容を踏襲していない行為をリファクタリングとは呼びませんよ?
そうですね。基本書の内容を踏襲していない行為は
リファクタリングと呼んではいけません。
ただの改修と言いましょう
273仕様書無しさん
2018/04/22(日) 15:42:30.64 なんで改修をリファクタリングって言いたいんだろう?
かっこつけたいのかな?
かっこつけたいのかな?
274仕様書無しさん
2018/04/22(日) 15:43:40.96 言葉の定義とかつまらんからもっと益になる話しようぜぇ
グローバル変数(public static 変数も含む)を安全に排除するリファクタリングテクニックについて議論しよう
リファクタリングするときいつもこれだけはスマートに解決できない
リスクを背負って修正するしかなくなる
グローバル変数(public static 変数も含む)を安全に排除するリファクタリングテクニックについて議論しよう
リファクタリングするときいつもこれだけはスマートに解決できない
リスクを背負って修正するしかなくなる
275仕様書無しさん
2018/04/22(日) 15:46:22.63 大勃起リファクタリングと聞いて
276仕様書無しさん
2018/04/22(日) 15:49:05.55 >> 271
> なんでリファクタリングじゃないものを
> リファクタリングって呼ぶんですか?
お前にとっての「僕のリファクタリング」なんて知らんがな
> なんでリファクタリングじゃないものを
> リファクタリングって呼ぶんですか?
お前にとっての「僕のリファクタリング」なんて知らんがな
277仕様書無しさん
2018/04/22(日) 15:54:49.49 動脈から直接リファクタリングを投与した
279仕様書無しさん
2018/04/22(日) 15:59:46.87 最初に書いたテストがリファクタリングの前後で同様に動くとは限らない
壊れたテストを書き直すのもリファクタリングの一部
壊れたテストを書き直すのもリファクタリングの一部
282仕様書無しさん
2018/04/22(日) 16:09:52.55 ここまで技術的な話題ゼロwwwマ板は素人しかいないってホントだったのか
283仕様書無しさん
2018/04/22(日) 16:10:33.85 >>281
なんでまた曲解するの?
2つの別々の話を混ぜないように
1. 大規模なものも小規模なものも外部的振る舞いが
変わらないようにちゃんとした手順で行って
テストで確認してるならリファクタリング
そうでないなら、単なる改修
2. 大規模リファクタリングが必要になるのは
普段からこまめにリファクタリングしてないから。
普段の改修の中でこまめにリファクタリングしていれば大規模なんて必要ない。
必要になるのは普段からリファクタリングしてなくて、
手遅れ状態になってる証拠。そういうのはあってはだめ
なんでまた曲解するの?
2つの別々の話を混ぜないように
1. 大規模なものも小規模なものも外部的振る舞いが
変わらないようにちゃんとした手順で行って
テストで確認してるならリファクタリング
そうでないなら、単なる改修
2. 大規模リファクタリングが必要になるのは
普段からこまめにリファクタリングしてないから。
普段の改修の中でこまめにリファクタリングしていれば大規模なんて必要ない。
必要になるのは普段からリファクタリングしてなくて、
手遅れ状態になってる証拠。そういうのはあってはだめ
284仕様書無しさん
2018/04/22(日) 16:37:26.44 リファクタリングは小まめに行うべきか?
ある程度たまってから行うべきか?
結論:リファクタリングが不要になるように書け!
ある程度たまってから行うべきか?
結論:リファクタリングが不要になるように書け!
285仕様書無しさん
2018/04/22(日) 16:38:45.75 将来の改修や拡張の方向性がわからないのにんあことできるわけないだろ!
286仕様書無しさん
2018/04/22(日) 16:55:29.35 リファクタリングはソースの修正が必要だから行う
つまりソースの修正が必要なくなればいい
データベースでいうところの、UPDATEではなくINSERTになるようにすればいい
つまり、適切な粒度で関数(メソッド)を適切に作成すれば
リファクタリングは不要なのではないか?
例えば、1関数20行という教えはそういう意味も内包しているのではないか?
今までリファクタリングが必要になった場面を思い出して欲しい
やたら長い関数、スコープが不適切な変数、マジックナンバーやあり得ないelseの使い方などがほとんどではないだろうか?
本当にリファクタリングが必要な場面などほぼ無いはずである
もしリファクタリングが必要だというのであれば、それは清書を後回しにして適当に書きなぐることを優先した結果であり
そもそも「ソースを書いていない」わけである
漫画であればペン入れをしていない下書きやネームの状態、ガンプラでいえば接着剤を使わず仮組をした状態だ
もちろん、「正しく作る」ことよりも「とりあえず動く」ものを何よりも時間を優先して作ることが至上命題であることもあるだろう
それでも書道の名家は一発で何度でも美しい書体を生み出す
プログラマであっても一発で完全に美しいソースコードを生み出すスキルは必要なのではないだろうか?
以上のことから、「リファクタリングが不要になるように書け!」というのは正しいと言える
つまりソースの修正が必要なくなればいい
データベースでいうところの、UPDATEではなくINSERTになるようにすればいい
つまり、適切な粒度で関数(メソッド)を適切に作成すれば
リファクタリングは不要なのではないか?
例えば、1関数20行という教えはそういう意味も内包しているのではないか?
今までリファクタリングが必要になった場面を思い出して欲しい
やたら長い関数、スコープが不適切な変数、マジックナンバーやあり得ないelseの使い方などがほとんどではないだろうか?
本当にリファクタリングが必要な場面などほぼ無いはずである
もしリファクタリングが必要だというのであれば、それは清書を後回しにして適当に書きなぐることを優先した結果であり
そもそも「ソースを書いていない」わけである
漫画であればペン入れをしていない下書きやネームの状態、ガンプラでいえば接着剤を使わず仮組をした状態だ
もちろん、「正しく作る」ことよりも「とりあえず動く」ものを何よりも時間を優先して作ることが至上命題であることもあるだろう
それでも書道の名家は一発で何度でも美しい書体を生み出す
プログラマであっても一発で完全に美しいソースコードを生み出すスキルは必要なのではないだろうか?
以上のことから、「リファクタリングが不要になるように書け!」というのは正しいと言える
287仕様書無しさん
2018/04/22(日) 16:58:10.99 >>280
意味明瞭
意味明瞭
288仕様書無しさん
2018/04/22(日) 16:58:35.06 >>286
あー、いや、テストファーストでは
最初にテストコードを書いて、
テストに通る最低限のコードを書いて
そのあとリファクタリングして
完成だから
つまりあんたの言う「ソースを書いている」状態にするまでに
リファクタリングをする。
ちょっと勉強し直してきて
あー、いや、テストファーストでは
最初にテストコードを書いて、
テストに通る最低限のコードを書いて
そのあとリファクタリングして
完成だから
つまりあんたの言う「ソースを書いている」状態にするまでに
リファクタリングをする。
ちょっと勉強し直してきて
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★3 [蚤の市★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★2 [蚤の市★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★5 [Hitzeschleier★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ ★2 [Hitzeschleier★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- 【痴呆症】オム太郎「石破政権はどよーんとして何も動かなかったが、高市政権になってからは何となく明るくなって動いてる気がする」 [402859164]
- 竹中平蔵「日米が長年守り続けてき台湾有事に関する曖昧戦略の知恵を一瞬にして無にさせた岡田の責任は非常に重い」 [271912485]
- 【高市悲報】トケドロ高橋「あれまw日本は食料品だけ上がっていてインフレとは言えない😤円安上等!」 [359965264]
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- 【画像】海外の寿司パーティー、レベチwwwwwwwwww [834922174]
- 【朗報】ほっともっとで一番好きな弁当は? 圧倒的にあれに決まるwwwwwwwwwww
