テストも書かないでリファクタリングとかうけるw
まずな、リファクタリングでは機能追加・修正は行わない。
動作はまったく同じでコードをきれいに書き換えること。
書き換えるといっても、これなら同じ動きだろ?って推測でやってはいけない。
まずテストを書く。ユニットテストをできるように、
単一のクラスでインスタンスを作る。
汚いコードなのだからたいていは依存関係のせいで単一ではクラスが生成できない
それを生成するために、クラスの動作を書き換える。
といっても元のコードは修正しない。継承やプリプロセッサを使って
依存関係を断ち切るために既存のコードを上書きする。
どうしてもそれが不可能な場合には、決められた手順で最小のコード修正を行う
そうやって既存のクラスのユニットテストを行う。
それでやっとリファクタリングが行える。
既存のクラスのユニットテストを通るように新たなコードに修正、
もしくは新規作成して置き換える。
この手順と考え方を守ってないのはリファクタリングではない。
で?
探検
リファクタリングをただのコード修正と思ってる人へ
■ このスレッドは過去ログ倉庫に格納されています
2010/05/29(土) 17:25:56
545デフォルトの名無しさん
2014/09/20(土) 12:22:36.52ID:McF0jAPW 開発段階ですでにスケジュールオーバーしてる現場だらけなのに机上の空論w
新言語開発しろw
新言語開発しろw
546デフォルトの名無しさん
2014/09/20(土) 13:18:35.72ID:b8OT/FfJ >>544
意味がわからないレベルの人っているんだよねw
意味がわからないレベルの人っているんだよねw
547デフォルトの名無しさん
2014/09/20(土) 14:46:45.86ID:mG0BaSkX テストってコードを書いた本人がやるべき?
548デフォルトの名無しさん
2014/09/20(土) 15:02:25.23ID:uiyrzvHx リファクタリングすら必要ないほどの腕のいい奴を最初から揃えれば良くね?
というのと同じくらいリファクタリング理論は破綻してる
というのと同じくらいリファクタリング理論は破綻してる
549デフォルトの名無しさん
2014/09/20(土) 15:33:26.65ID:uiyrzvHx 他人のソースコードの解読は新規作成より時間がかかるケースが多々。
仕様がわかってるなら、そんなチェックをお願いしないといけない奴のソースレビューをするより、最初から自分でやったほうが早いし確実
つまり、リファクタリングの行き着く先は、無脳者を開発に入れなければ良いに行き着く。
少数精鋭方式。
仕様がわかってるなら、そんなチェックをお願いしないといけない奴のソースレビューをするより、最初から自分でやったほうが早いし確実
つまり、リファクタリングの行き着く先は、無脳者を開発に入れなければ良いに行き着く。
少数精鋭方式。
550デフォルトの名無しさん
2014/09/20(土) 15:48:28.37ID:Jdjsg9Fk551デフォルトの名無しさん
2014/09/20(土) 16:04:59.48ID:b8OT/FfJ 仕様変更っていうのは避けられないものだし、
機能追加や新しく出来た○○に対応するとか
どうしても変化は避けられないわけで
その変化にたいしてコードも変化させていかないといけないんだよ。
それにさ、人っていうのは成長するのは当たり前なのだから、
一年前の自分より、もっと優れたものを書けるようになっているはず。
一年後はさらに優れたものを書けるようになるはずだが、
それは今をきちんとやっていてできること。
過去の自分の真似ばかりしていても、成長はできないよ。
機能追加や新しく出来た○○に対応するとか
どうしても変化は避けられないわけで
その変化にたいしてコードも変化させていかないといけないんだよ。
それにさ、人っていうのは成長するのは当たり前なのだから、
一年前の自分より、もっと優れたものを書けるようになっているはず。
一年後はさらに優れたものを書けるようになるはずだが、
それは今をきちんとやっていてできること。
過去の自分の真似ばかりしていても、成長はできないよ。
552デフォルトの名無しさん
2014/09/20(土) 16:20:19.19ID:gqfYZyci 何を意味の分からん事を
と思ったら、またお前かw
と思ったら、またお前かw
553デフォルトの名無しさん
2014/09/20(土) 18:11:49.33ID:b8OT/FfJ554デフォルトの名無しさん
2014/09/20(土) 20:30:21.92ID:lV8t6mfn555デフォルトの名無しさん
2014/09/20(土) 20:40:59.03ID:Pz5VxQ8p リファクタリングは有能が無能の尻を拭く作業ではなく自分の尻を拭く作業だ
最初は速度など無視してとりあえず動くように作る
動いたら次に速く動くようにする
速く動いたらそれを読みやすく整える
読みやすくなったら今度は新機能を楽々追加する
これで立派なリファクタリングだ
最初は速度など無視してとりあえず動くように作る
動いたら次に速く動くようにする
速く動いたらそれを読みやすく整える
読みやすくなったら今度は新機能を楽々追加する
これで立派なリファクタリングだ
556デフォルトの名無しさん
2014/09/20(土) 21:06:59.81ID:K48fRfz5 速く動くようにするのは一番後でいいだろ
557デフォルトの名無しさん
2014/09/20(土) 21:21:43.45ID:npmlG4Eq >>556
ボトルネックが出来て、そこを解決すれば全体に速度が上がるようなものなら
後からでもどうにかなるが、全体的に微妙に遅い、微妙にリソース食っている、
それで全体的に遅くなってるだと後からじゃどうにもならない。
ボトルネックが出来て、そこを解決すれば全体に速度が上がるようなものなら
後からでもどうにかなるが、全体的に微妙に遅い、微妙にリソース食っている、
それで全体的に遅くなってるだと後からじゃどうにもならない。
558デフォルトの名無しさん
2014/09/20(土) 21:27:33.19ID:lV8t6mfn559デフォルトの名無しさん
2014/09/20(土) 21:36:13.07ID:lV8t6mfn >>555
そもそも、そんなものはリファクタリングではない
リファクタリングは「現時点『運用中』の動いているシステムプログラム」に勝手に手を加えること。
「まがいなりにも動いているシステムのプログラムを勝手にいじるな」
というのが世界の常識。でこの常識を変えようとした思想がリファクタリング。
ただ、結局は、誰もやらんってこと。
理由の大半は「仕様がわからん」ということ。
そもそも、そんなものはリファクタリングではない
リファクタリングは「現時点『運用中』の動いているシステムプログラム」に勝手に手を加えること。
「まがいなりにも動いているシステムのプログラムを勝手にいじるな」
というのが世界の常識。でこの常識を変えようとした思想がリファクタリング。
ただ、結局は、誰もやらんってこと。
理由の大半は「仕様がわからん」ということ。
560デフォルトの名無しさん
2014/09/20(土) 21:44:36.36ID:6heECCBq エクストリームプログラミングから全否定かよ。
カオスだな。
カオスだな。
561デフォルトの名無しさん
2014/09/20(土) 21:54:03.46ID:UNVZl8tG バグを仕込んでしまう可能性があるのが致命的
あとは評価制度の問題だな
長期的に絶対メリットはあるんだがそんなん誰も見ちゃいねえし
あとは評価制度の問題だな
長期的に絶対メリットはあるんだがそんなん誰も見ちゃいねえし
562デフォルトの名無しさん
2014/09/20(土) 22:00:15.71ID:Pz5VxQ8p 他人の尻を拭くハメになったとき、リファクタリングが可能である唯一の条件は、
引継ぎ時点でリファクタリングされているソースコードであること、だ
そうでなかったらご愁傷様あきらめた方がいい
引継ぎ時点でリファクタリングされているソースコードであること、だ
そうでなかったらご愁傷様あきらめた方がいい
563デフォルトの名無しさん
2014/09/20(土) 22:07:58.53ID:fFGu/96N >>559
> リファクタリングは「現時点『運用中』の動いているシステムプログラム」に勝手に手を加えること。
なんでウソつくの?
本当と言い返せるものなら言い返していいんだぜ?w
ただし、そんなことをしたら、ソースを要求するので
準備しておくこと。
> リファクタリングは「現時点『運用中』の動いているシステムプログラム」に勝手に手を加えること。
なんでウソつくの?
本当と言い返せるものなら言い返していいんだぜ?w
ただし、そんなことをしたら、ソースを要求するので
準備しておくこと。
564デフォルトの名無しさん
2014/09/20(土) 22:53:25.35ID:6heECCBq 恐怖駆動開発だな。
http://www.hanselman.com/blog/FearDrivenDevelopmentFDD.aspx
レガシーコードでテストが無い and/or コードに対する理解が無い
↓
エンバグ、ビルドを壊すことへの恐怖
http://www.hanselman.com/blog/FearDrivenDevelopmentFDD.aspx
レガシーコードでテストが無い and/or コードに対する理解が無い
↓
エンバグ、ビルドを壊すことへの恐怖
565デフォルトの名無しさん
2014/09/20(土) 23:06:54.25ID:K48fRfz5566デフォルトの名無しさん
2014/09/21(日) 01:19:15.97ID:H7xT3+nz りファクタリングって言うのは、オブジェクト指向の言語(これが大前提)で、
開発段階にあって、試作品が第一段階で問題なく動いて、
あとは性能やコードの見直しやカイゼンだよねって段階で設計へフィードバックするプロセスですよ。
その後に顧客側のチェックと納品ですよね。
運用中のシステムに手を入れるという話では無いですよ。
カイゼンを全否定ならトヨタはどうなるんでしょうか?
開発段階にあって、試作品が第一段階で問題なく動いて、
あとは性能やコードの見直しやカイゼンだよねって段階で設計へフィードバックするプロセスですよ。
その後に顧客側のチェックと納品ですよね。
運用中のシステムに手を入れるという話では無いですよ。
カイゼンを全否定ならトヨタはどうなるんでしょうか?
567デフォルトの名無しさん
2014/09/21(日) 01:26:54.31ID:UIOIQYIj 一度客に納入してさあ、次に改修の仕事がきたときにリファクタリングしていたから工数が減っていたとしてもなんのメリットもないんだよな。むしろ工数が少なきゃ金が取れない。リファクタリングした分取ったら水増し請求だ。
機能やバグについて同等で、メンテしやすさだけ向上させる工程なんて日本の一般的な開発ではインセンティブゼロだよ。趣味ならともかくプロの仕事なら。
最初からリファクタリングの作業も込みで工数見積もりなり、費用請求しろ、ってそんな見積もり見て納得する客いるわけないじゃん。最初から手直しいらない納品物にして下さい、と言われてオチ。
出来上がってテスト済みのソースをあれこれいじるなんてお遊びが入り込む余地はない。
機能やバグについて同等で、メンテしやすさだけ向上させる工程なんて日本の一般的な開発ではインセンティブゼロだよ。趣味ならともかくプロの仕事なら。
最初からリファクタリングの作業も込みで工数見積もりなり、費用請求しろ、ってそんな見積もり見て納得する客いるわけないじゃん。最初から手直しいらない納品物にして下さい、と言われてオチ。
出来上がってテスト済みのソースをあれこれいじるなんてお遊びが入り込む余地はない。
568デフォルトの名無しさん
2014/09/21(日) 01:42:02.59ID:H7xT3+nz それと、テストという概念は個人がスクリプトやツール類を書く場合には絶対に生まれてこない発想で、
多人数で、複数の技能レベルの人が、仕様書をガイドに組織的に開発に関わる条件下で必然的に生じる仕事上の手続き。
個人がコード書く場合は、ソースコード全体、アルゴリズム、関数やクラスを全て把握しているので
テストコードをいちいち書く必要がない。だからデバックという手順はあっても、関数やクラスのテストコードを
いちいち書くという発想にはならない。コード修正も容易、エラーが発生してもその場で即対応できる個人レベルの作業としては正しい。
組織で開発する部門では他人が必要なコードを仕様化した関数やクラスの動作条件を定めているから、
それを大前提としてモジュール動作をテストする必要がある。一見して馬鹿げている行為に思えるのは、
アルゴリズムを提示せずトップダウン的に関数のIN/OUTのみで仕様を提示するためにモジュールのテストが必須になる。
チェックデータの側面についていえば情報管理上テストデータが必ず必須になる。それは本物と試験用のデータが違うということ。
テストコードは本人が書くと、世界は如何にばかげた行為に時間を費やしているのかと思うだけだが、
本来は書く側は最終コードが動作すると確認した上で、2重チェックとして仕様を作成した側がテストするためのコードなり手段を作るべきだな。
人が居ないというなら、テストコード書くのでなく、統合テスト的に動作チェックすべき。
多人数で、複数の技能レベルの人が、仕様書をガイドに組織的に開発に関わる条件下で必然的に生じる仕事上の手続き。
個人がコード書く場合は、ソースコード全体、アルゴリズム、関数やクラスを全て把握しているので
テストコードをいちいち書く必要がない。だからデバックという手順はあっても、関数やクラスのテストコードを
いちいち書くという発想にはならない。コード修正も容易、エラーが発生してもその場で即対応できる個人レベルの作業としては正しい。
組織で開発する部門では他人が必要なコードを仕様化した関数やクラスの動作条件を定めているから、
それを大前提としてモジュール動作をテストする必要がある。一見して馬鹿げている行為に思えるのは、
アルゴリズムを提示せずトップダウン的に関数のIN/OUTのみで仕様を提示するためにモジュールのテストが必須になる。
チェックデータの側面についていえば情報管理上テストデータが必ず必須になる。それは本物と試験用のデータが違うということ。
テストコードは本人が書くと、世界は如何にばかげた行為に時間を費やしているのかと思うだけだが、
本来は書く側は最終コードが動作すると確認した上で、2重チェックとして仕様を作成した側がテストするためのコードなり手段を作るべきだな。
人が居ないというなら、テストコード書くのでなく、統合テスト的に動作チェックすべき。
569デフォルトの名無しさん
2014/09/21(日) 01:52:41.82ID:H7xT3+nz リファクタリングは工数水増しの手段ではない。
保守とは違うので、日本の開発やってる業界のインセンティブなど関係がない。
リファクタリングとは関係がないな。
見積もりの段階でリファクタリングなどの話は出てこない。
手直しが要るといって費用請求している段階で、それはリファクタリングの問題ではなく
失敗したプロジェクトや案件だということだろう。それを誤魔化す為に誰かが嘘として
リファクタリングと言ってるだけだろう。
保守とは違うので、日本の開発やってる業界のインセンティブなど関係がない。
リファクタリングとは関係がないな。
見積もりの段階でリファクタリングなどの話は出てこない。
手直しが要るといって費用請求している段階で、それはリファクタリングの問題ではなく
失敗したプロジェクトや案件だということだろう。それを誤魔化す為に誰かが嘘として
リファクタリングと言ってるだけだろう。
570デフォルトの名無しさん
2014/09/21(日) 02:21:17.93ID:H7xT3+nz もし>>567が客側の意見であれば、失敗したプロジェクトや案件とは縁を切って
再出発したほうが開発側も、客側も気持ち的にはしあわせになれますよ。
再出発したほうが開発側も、客側も気持ち的にはしあわせになれますよ。
571デフォルトの名無しさん
2014/09/21(日) 06:26:59.02ID:4aXz2u5s >>563
>http://ja.wikipedia.org/wiki/%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%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
>リファクタリング登場の経緯と目的[編集]
>リファクタリングが登場する以前は、一度正常な動作をしたプログラムは二度と手を触れるべきではないと言われていた。
>下手に手を加えて動作が変わってしまうと、それに伴って関連する部分にも修正が加えられ、やがて修正はプロジェクト
>全体に波及し対処しきれなくなるかも知れない。またソフトウェアテストを十分に行い正常な動作が確認されたとしても、
>そのプログラムをわずかでも改変すれば、バグ (欠陥) が見つかったときに改変があったプログラムを疑わなければならない。
>http://ja.wikipedia.org/wiki/%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%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
>リファクタリング登場の経緯と目的[編集]
>リファクタリングが登場する以前は、一度正常な動作をしたプログラムは二度と手を触れるべきではないと言われていた。
>下手に手を加えて動作が変わってしまうと、それに伴って関連する部分にも修正が加えられ、やがて修正はプロジェクト
>全体に波及し対処しきれなくなるかも知れない。またソフトウェアテストを十分に行い正常な動作が確認されたとしても、
>そのプログラムをわずかでも改変すれば、バグ (欠陥) が見つかったときに改変があったプログラムを疑わなければならない。
572デフォルトの名無しさん
2014/09/21(日) 06:35:53.53ID:4aXz2u5s >>566
>りファクタリングって言うのは、オブジェクト指向の言語(これが大前提)
は?wwwwwwwwwwwwwwwwwwww
オブジェクト指向とそうではない言語での違いを説明しろよ
オブジェクト指向という言葉になんか宗教的妄信でもしてるのか?
>りファクタリングって言うのは、オブジェクト指向の言語(これが大前提)
は?wwwwwwwwwwwwwwwwwwww
オブジェクト指向とそうではない言語での違いを説明しろよ
オブジェクト指向という言葉になんか宗教的妄信でもしてるのか?
573デフォルトの名無しさん
2014/09/21(日) 09:08:44.80ID:aP8Aq0OA 必要なのはコードのリファクタリングではなく
チームメンバのリファクタリングである
チームメンバのリファクタリングである
574デフォルトの名無しさん
2014/09/21(日) 09:29:51.06ID:48QWsy10 言い換えると、ソースコードをリファクタリング出来るように
チームメンバーの技術力を高めることである。
チームメンバーの技術力を高めることである。
575デフォルトの名無しさん
2014/09/21(日) 09:47:59.75ID:dzDyx0VV > チームメンバのリファクタリングである
リファクタリングて振舞いを変えてはいかんのでは?
リファクタリングて振舞いを変えてはいかんのでは?
576デフォルトの名無しさん
2014/09/21(日) 12:25:58.75ID:MCI/5nTd 例えばバグが多く、しかも非常にメンテしにくい糞コードがあったとする
この場合
1. バグを含んだままリファクタリングして、その後バグを直す
2. 先にバグを直して正しいテストを通る様にしてから、リファクタリングに着手する
どっち?
この場合
1. バグを含んだままリファクタリングして、その後バグを直す
2. 先にバグを直して正しいテストを通る様にしてから、リファクタリングに着手する
どっち?
577デフォルトの名無しさん
2014/09/21(日) 12:33:35.65ID:48QWsy10 >>576
原則としては2番
ただし、今既に十分なテストがあるのなら、
リファクタリングしてもよい。
ようするに「バグが有ることに気づいていなかった」と考える。
バグが有るといえども、その状態で使われていたのであれば、
問題ない範囲(把握している範囲)で使われていたわけで、
使われていた部分の動きが変わっていなければ何も問題ない。
適切に動いていないバグの部分の動きが変わった所で
誰も困らない。そもそもバグは仕様ではないのだから。
原則としては2番
ただし、今既に十分なテストがあるのなら、
リファクタリングしてもよい。
ようするに「バグが有ることに気づいていなかった」と考える。
バグが有るといえども、その状態で使われていたのであれば、
問題ない範囲(把握している範囲)で使われていたわけで、
使われていた部分の動きが変わっていなければ何も問題ない。
適切に動いていないバグの部分の動きが変わった所で
誰も困らない。そもそもバグは仕様ではないのだから。
578デフォルトの名無しさん
2014/09/21(日) 13:51:42.60ID:C0Gh49Ld579デフォルトの名無しさん
2014/09/21(日) 15:34:48.90ID:4aXz2u5s ホント現実をみてないな
クソコードの影にクソ仕様書あり
仕様が網羅されていないクソ仕様書、そしてあってるのかあってないのかもわからんクソソース
そして、仕様を完全把握しているものは不在(いない)
コードを読みやすくする?直す?どーやってなおすんだよ正しい仕様不明なのに
手を入れなければ責任問題は自分にはかからない
正式に仕事として認可されるまでは、さわらずほっとく。こんなのが大量なんだ現実は
まともな仕様書を作るやつは、まともなプログラムも書いている。でもそれは修正等々なんて必要のないソース
リファクタリングの対象となるソースは、前者のクソコード、クソ仕様書のほうだ。正解が不明なのにどうやって直すんだ
クソコードの影にクソ仕様書あり
仕様が網羅されていないクソ仕様書、そしてあってるのかあってないのかもわからんクソソース
そして、仕様を完全把握しているものは不在(いない)
コードを読みやすくする?直す?どーやってなおすんだよ正しい仕様不明なのに
手を入れなければ責任問題は自分にはかからない
正式に仕事として認可されるまでは、さわらずほっとく。こんなのが大量なんだ現実は
まともな仕様書を作るやつは、まともなプログラムも書いている。でもそれは修正等々なんて必要のないソース
リファクタリングの対象となるソースは、前者のクソコード、クソ仕様書のほうだ。正解が不明なのにどうやって直すんだ
580デフォルトの名無しさん
2014/09/21(日) 16:39:44.45ID:48QWsy10581デフォルトの名無しさん
2014/09/21(日) 16:40:37.43ID:48QWsy10 > コードを読みやすくする?直す?どーやってなおすんだよ正しい仕様不明なのに
それは、正しい仕様がなければ、
現在のコードの動きを仕様と考えればいいだけ。
それは、正しい仕様がなければ、
現在のコードの動きを仕様と考えればいいだけ。
582デフォルトの名無しさん
2014/09/21(日) 16:53:43.27ID:4aXz2u5s583デフォルトの名無しさん
2014/09/21(日) 16:54:11.17ID:Ep6XnQTS 開発手法が根本からおかしい
リファクタリング以前の問題
リファクタリング以前の問題
584デフォルトの名無しさん
2014/09/21(日) 16:55:08.58ID:4aXz2u5s585デフォルトの名無しさん
2014/09/21(日) 17:12:48.09ID:48QWsy10586デフォルトの名無しさん
2014/09/21(日) 17:14:26.03ID:48QWsy10 >>582
> 句読点のない文章みたいに処理の区切りがまったくないような文体で書かれたソースなんぞ誰が手をつけるか
でも、バグがあったら直さないといけないし、
仕様変更、機能追加があったら、手を付けないといけないよね?
> 句読点のない文章みたいに処理の区切りがまったくないような文体で書かれたソースなんぞ誰が手をつけるか
でも、バグがあったら直さないといけないし、
仕様変更、機能追加があったら、手を付けないといけないよね?
587デフォルトの名無しさん
2014/09/21(日) 17:24:56.25ID:SqCSMf85 うちのソースコードはほとんどが綺麗だから
句読点のない文章みたいに処理の区切りがまったくないような文体で書かれたソース
なんてほとんど無いよ。
そんな汚いソースがたくさんある所は、
手をつける箇所=リファクタリングするべき場所でしょう。
句読点のない文章みたいに処理の区切りがまったくないような文体で書かれたソース
なんてほとんど無いよ。
そんな汚いソースがたくさんある所は、
手をつける箇所=リファクタリングするべき場所でしょう。
588デフォルトの名無しさん
2014/09/21(日) 17:25:48.01ID:J4CuFh4O この板はガセネタをもとにした煽り合いのスレしかないみたいだな
・××と言われているが本当は○○
・こんなことも知らないの?
これが2ちゃんクヲリチーだな
・××と言われているが本当は○○
・こんなことも知らないの?
これが2ちゃんクヲリチーだな
589デフォルトの名無しさん
2014/09/21(日) 19:17:45.62ID:4aXz2u5s >>585
作ってあげるよ、クソ仕様書
機能:
俺の心の中にあるいい塩梅で、業務を遂行する処理
以上
これは極端に書いたが、冗談抜きで口頭で仕様をやりとりしたのか
いっさい、仕様書に、当該機能部分の記載がない。
作ってあげるよ、クソ仕様書
機能:
俺の心の中にあるいい塩梅で、業務を遂行する処理
以上
これは極端に書いたが、冗談抜きで口頭で仕様をやりとりしたのか
いっさい、仕様書に、当該機能部分の記載がない。
590デフォルトの名無しさん
2014/09/21(日) 20:05:10.80ID:6N1L/uhm 嫌なら辞めれば良いのに
って思う
って思う
591デフォルトの名無しさん
2014/09/21(日) 20:10:42.85ID:qWzZkk5b >>590
どっちにたいして言ってるのかわからんよ、その文では
クソシステムが嫌と言ってる人に言ってるのか、
リファクタリングwをしないやつはだめだって言ってるやつに言ってるのか
どっちにも解釈できる
どっちにたいして言ってるのかわからんよ、その文では
クソシステムが嫌と言ってる人に言ってるのか、
リファクタリングwをしないやつはだめだって言ってるやつに言ってるのか
どっちにも解釈できる
592デフォルトの名無しさん
2014/09/21(日) 21:44:29.99ID:5OzBoJXn クソソース1万ステップ読まなくていいようにするためにリファクタリングするんじゃないか
593デフォルトの名無しさん
2014/09/21(日) 21:45:48.38ID:9ZybMmhl マーチン・フラウアーのリファクタリング本てruby版とjava版て言語が違うだけで内容は重複してるの?
それとも別の内容が多いから両方買った方がいい?
それとも別の内容が多いから両方買った方がいい?
594デフォルトの名無しさん
2014/09/21(日) 22:48:11.16ID:SqCSMf85595デフォルトの名無しさん
2014/09/21(日) 23:01:02.38ID:SqCSMf85596デフォルトの名無しさん
2014/09/22(月) 01:14:38.68ID:8ME10ieO リファクタリング真理教か原理主義かしらんがウゼエ
597デフォルトの名無しさん
2014/09/22(月) 06:10:50.31ID:mZl8n2a+598デフォルトの名無しさん
2014/09/22(月) 06:22:02.06ID:VFEp2OOw Aさんがリファクタリングしました。
Bさんが読みましたAさんのリファクタリングがクソです。Bさん直しました。
Cさん見ましたBさんのソースコードクソです。Cさん直しました。
永遠と、、、、、
個人の力量、感性によって結果が大きく作用してしまうものは、学術的工学的な基本がないからどうにもならない。
Bさんが読みましたAさんのリファクタリングがクソです。Bさん直しました。
Cさん見ましたBさんのソースコードクソです。Cさん直しました。
永遠と、、、、、
個人の力量、感性によって結果が大きく作用してしまうものは、学術的工学的な基本がないからどうにもならない。
599デフォルトの名無しさん
2014/09/22(月) 08:09:32.93ID:mZl8n2a+ 普通は、
Aさんがリファクタリングしました。
Bさんが読みましたAさんのリファクタリングがクソです。Bさん直しました。
Cさん見ましたBさんのソースコードクソです。Cさん直しました。
Cさんリファクタリング大勝利!!! ・・・でしょ?
Aさんがリファクタリングしました。
Bさんが読みましたAさんのリファクタリングがクソです。Bさん直しました。
Cさん見ましたBさんのソースコードクソです。Cさん直しました。
Cさんリファクタリング大勝利!!! ・・・でしょ?
600デフォルトの名無しさん
2014/09/22(月) 08:34:50.21ID:mZl8n2a+ Class レイザラモンFoo Extends Object
Public サルinit(void);
Public クエリFoo(String SQL文はクソ);
Protect ないですFoo(void);
Destractor システム緊急停止オペ呼んでくさいFoo(void);
End Class
こんな仕様のクラスを業務システムのスーパークラスにしてあとは全て継承
という仕様は誰だって疑問を持つと思うんだが、そこを直すのがリファクタリング。
リファクタリング大勝利!!!
Public サルinit(void);
Public クエリFoo(String SQL文はクソ);
Protect ないですFoo(void);
Destractor システム緊急停止オペ呼んでくさいFoo(void);
End Class
こんな仕様のクラスを業務システムのスーパークラスにしてあとは全て継承
という仕様は誰だって疑問を持つと思うんだが、そこを直すのがリファクタリング。
リファクタリング大勝利!!!
601デフォルトの名無しさん
2014/09/22(月) 11:41:29.79ID:y9q7ZqSb602デフォルトの名無しさん
2014/09/22(月) 12:15:28.88ID:4rgv3mOC603デフォルトの名無しさん
2014/09/22(月) 13:03:42.75ID:BRLO2XpR 優れたの方コードを採用すればいいだけだろ。
604デフォルトの名無しさん
2014/09/22(月) 13:12:39.94ID:8Zrs8f+9 個人の知識の違いによってソースの見え方が違うからな
アホが天才のコードを見ると何じゃこりゃってなるし、逆もまた然り
アホが天才のコードを見ると何じゃこりゃってなるし、逆もまた然り
605デフォルトの名無しさん
2014/09/22(月) 13:51:20.75ID:BRLO2XpR 知識って・・・そんなの一機能5分もあれば
知らない状態から理解できるだろ。
どんだけ素人なんだ?
つーか知らない時点で、判断できないわけで
議論からはお役御免なわけだが
知らない状態から理解できるだろ。
どんだけ素人なんだ?
つーか知らない時点で、判断できないわけで
議論からはお役御免なわけだが
606デフォルトの名無しさん
2014/09/22(月) 13:53:03.85ID:BRLO2XpR それに、知らないなら何をやっているか
理解できないわけで、リファクタリング出来るわけがないな。
理解できないわけで、リファクタリング出来るわけがないな。
607デフォルトの名無しさん
2014/09/22(月) 17:49:10.78ID:8HtrhTyn おれはやらな〜いw
これでリファクタリングは崩壊するwww
これでリファクタリングは崩壊するwww
608デフォルトの名無しさん
2014/09/22(月) 19:42:14.76ID:OvpzlkOF アホみたいな話だが結局>>598が真理だよな。
リファクタリングする人は、自分のコードもいずれリファクタリングされる事を受けいれねばならん。
リファクタリングする人は、自分のコードもいずれリファクタリングされる事を受けいれねばならん。
609デフォルトの名無しさん
2014/09/22(月) 20:32:19.28ID:0yRqeFm6 リファクタリングはただのコード修正と思ってもらってかまわない
610デフォルトの名無しさん
2014/09/22(月) 20:44:04.47ID:jEzIKioA リファクタリングするよ派はここでなにしてんの?しないよ派とじゃれあってるのが楽しいの?
やり合ってる本人は議論してるつもりかもしれないけど、外から見てるとしょうもなさすぎてww
やり合ってる本人は議論してるつもりかもしれないけど、外から見てるとしょうもなさすぎてww
611デフォルトの名無しさん
2014/09/22(月) 21:11:07.07ID:BRLO2XpR612デフォルトの名無しさん
2014/09/22(月) 22:45:37.55ID:rMqlGcxC >>1が考えるようなことは誰もが考えてる。
その結果、新しい開発言語が生まれているということを理解できないのか?
過去、多くの開発手法・開発スタイルが提唱されたが、
社会に受け入れられたものは、「理論」と「それを強制する新しい開発言語」が常にワンセットになっていた
「超絶スパゲッティコード」を少しでもまともにするために
原因の「goto」を取り除く方法として、「gotoレス」という理論とともに「3つの基本構造を使うようにした、構造化プログラミング言語」が生まれ
「グローバル変数の多用がデバッグを困難にする問題」を少しでもまともにするために
原因の「不必要にメモリをどこからでもアクセスできる状態」を取り除くため「カプセル化」が提唱され、オブジェクト指向言語に組み込まれ
等々・・・・。
何を持ってリファクタリングといいたいのかわからないが、汚いコードを綺麗なコードになおすというなら。
リファクタリングが成功したといえる、最終のコードはどのようなものなのか。具体的に示す必要がある。
プログラムとして存在するあらゆるコードパターンに対応した、綺麗なコードを示してくれ。
それを明示できないうちは>>598の意見が正しい。
個人の感性次第なら、汚いコードと周りは言うが書いているプログラマにとってはリファクタリング不要な綺麗なコードと判断するだろう。
先人達は、その時代のプログラムコードの問題を考えた。
その答えが、理論を具現化した新プログラミング言語の開発だ。
>>1はしのごのいうなら、リファクタリング後の形になるプログラミング言語を生み出せ。
どんな馬鹿でも、その綺麗なプログラミングになるプログラミング言語を。
その結果、新しい開発言語が生まれているということを理解できないのか?
過去、多くの開発手法・開発スタイルが提唱されたが、
社会に受け入れられたものは、「理論」と「それを強制する新しい開発言語」が常にワンセットになっていた
「超絶スパゲッティコード」を少しでもまともにするために
原因の「goto」を取り除く方法として、「gotoレス」という理論とともに「3つの基本構造を使うようにした、構造化プログラミング言語」が生まれ
「グローバル変数の多用がデバッグを困難にする問題」を少しでもまともにするために
原因の「不必要にメモリをどこからでもアクセスできる状態」を取り除くため「カプセル化」が提唱され、オブジェクト指向言語に組み込まれ
等々・・・・。
何を持ってリファクタリングといいたいのかわからないが、汚いコードを綺麗なコードになおすというなら。
リファクタリングが成功したといえる、最終のコードはどのようなものなのか。具体的に示す必要がある。
プログラムとして存在するあらゆるコードパターンに対応した、綺麗なコードを示してくれ。
それを明示できないうちは>>598の意見が正しい。
個人の感性次第なら、汚いコードと周りは言うが書いているプログラマにとってはリファクタリング不要な綺麗なコードと判断するだろう。
先人達は、その時代のプログラムコードの問題を考えた。
その答えが、理論を具現化した新プログラミング言語の開発だ。
>>1はしのごのいうなら、リファクタリング後の形になるプログラミング言語を生み出せ。
どんな馬鹿でも、その綺麗なプログラミングになるプログラミング言語を。
613デフォルトの名無しさん
2014/09/22(月) 22:52:50.40ID:BRLO2XpR >612
新しい言語というから何かと思えば
gotoレスとかカプセル化とか
全然新しくないじゃないか。
30年ぐらい前の話だろ。
新しい言語というから何かと思えば
gotoレスとかカプセル化とか
全然新しくないじゃないか。
30年ぐらい前の話だろ。
614デフォルトの名無しさん
2014/09/22(月) 22:55:02.43ID:BRLO2XpR > 何を持ってリファクタリングといいたいのかわからないが
無知は勉強すればいいだけ。恥ずかしいことなんて無いよ!
>>423, >>426あたりを読むといいよ。
リファクタリングの誤用
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?RefactoringMalapropism
リファクタリングの境界線
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?RefactoringBoundary
インタフェースの変更はリファクタリングか
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?IsChangingInterfacesRefactoring
> 答えは簡単――インタフェースの変更はリファクタリングだ。
未知のバグフィックスはリファクタリングか?
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?IsFixingAnUnknownBugRefactoring
> 私はリファクタリングと呼べると思う。 バグを含んだ振る舞いを知らなかった(あるいは気にしなかった)わけだから、
> これは「外部から見たときの振る舞い」ではないのだ。 たとえバグに気付いていたとしても、
> それが気にするようなバグでなければ、 リファクタリングと呼んでもよいと思う。
最適化はリファクタリングか?
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?IsOptimizationRefactoring
> 最適化とリファクタリングはどちらも変化を伴うものだが(なかには最適化かつリファクタリングとなる変化もあるが)、
> 両者は別物だと私は考えている。なぜなら、両者の目的が異なるからである。リファクタリングは、
> コードを理解しやすくするためである。最適化は、プログラムを速くするためである。
宣言の順序変更はリファクタリングか?
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?IsDeclarationOrderingRefactoring
> 宣言(Javaで言うメソッドやフィールド)の順序を変更することは、リファクタリングと呼べるのか?
> リファクタリングの定義で、 「理解や修正が簡単になるように」というフレーズを使った。
> 宣言部分を変更すると、理解や修正が簡単になるのだろうか? 私は、そういう場合もあると思う。
> ソフトウェアの内部構造を変更しないという点が紛らわしいかもしれない。 リネームしても実行内容は変化しない。
無知は勉強すればいいだけ。恥ずかしいことなんて無いよ!
>>423, >>426あたりを読むといいよ。
リファクタリングの誤用
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?RefactoringMalapropism
リファクタリングの境界線
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?RefactoringBoundary
インタフェースの変更はリファクタリングか
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?IsChangingInterfacesRefactoring
> 答えは簡単――インタフェースの変更はリファクタリングだ。
未知のバグフィックスはリファクタリングか?
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?IsFixingAnUnknownBugRefactoring
> 私はリファクタリングと呼べると思う。 バグを含んだ振る舞いを知らなかった(あるいは気にしなかった)わけだから、
> これは「外部から見たときの振る舞い」ではないのだ。 たとえバグに気付いていたとしても、
> それが気にするようなバグでなければ、 リファクタリングと呼んでもよいと思う。
最適化はリファクタリングか?
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?IsOptimizationRefactoring
> 最適化とリファクタリングはどちらも変化を伴うものだが(なかには最適化かつリファクタリングとなる変化もあるが)、
> 両者は別物だと私は考えている。なぜなら、両者の目的が異なるからである。リファクタリングは、
> コードを理解しやすくするためである。最適化は、プログラムを速くするためである。
宣言の順序変更はリファクタリングか?
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?IsDeclarationOrderingRefactoring
> 宣言(Javaで言うメソッドやフィールド)の順序を変更することは、リファクタリングと呼べるのか?
> リファクタリングの定義で、 「理解や修正が簡単になるように」というフレーズを使った。
> 宣言部分を変更すると、理解や修正が簡単になるのだろうか? 私は、そういう場合もあると思う。
> ソフトウェアの内部構造を変更しないという点が紛らわしいかもしれない。 リネームしても実行内容は変化しない。
615デフォルトの名無しさん
2014/09/22(月) 22:58:10.11ID:BRLO2XpR >>614を見ればわかるけど、
リファクタリングを
汚いコードを綺麗なコードに直すこと
とは書いてないんだよね。
なんでこんなふうに間違って解釈してるのかな?
それって、汚いコードが(あなたの所に)多いってだけで、
リファクタリング以前の解決するべき問題だよね?
リファクタリングとはソフトウェアの変化とともに、
あるべき設計に安全に変化させる方法のこと。
リファクタリングを
汚いコードを綺麗なコードに直すこと
とは書いてないんだよね。
なんでこんなふうに間違って解釈してるのかな?
それって、汚いコードが(あなたの所に)多いってだけで、
リファクタリング以前の解決するべき問題だよね?
リファクタリングとはソフトウェアの変化とともに、
あるべき設計に安全に変化させる方法のこと。
616デフォルトの名無しさん
2014/09/22(月) 23:03:19.25ID:rMqlGcxC617デフォルトの名無しさん
2014/09/22(月) 23:04:10.78ID:rMqlGcxC618デフォルトの名無しさん
2014/09/22(月) 23:24:14.03ID:OvpzlkOF >>615
(お前にとっての)あるべき設計だな
(お前にとっての)あるべき設計だな
619デフォルトの名無しさん
2014/09/23(火) 07:26:06.78ID:0ZBouPvA このスレも
↓のスレも
ソースコード品質検定試験が世の中には必要だ
http://kanae.2ch.net/test/read.cgi/prog/1411354584/
同一人物が立てたスレだと自白しました。
そして、人物の正体も自白しました。
>5 名前:仕様書無しさん[sage] 投稿日:2014/09/22(月) 17:48:09.54
>無職Windowsしか使えないリファクタリング馬鹿がまたスレたてやがった
>
>6 名前:仕様書無しさん[sage] 投稿日:2014/09/22(月) 21:31:27.59
>>>5
>たてたね。それで?
>
>なにか言い返したいことがあるのなら
>いっていいだぜ?w
>
>7 自分:仕様書無しさん[sage] 投稿日:2014/09/23(火) 07:22:55.61
>>>5
>自然と、「無職」「Windowsしか使えない」「ム板でリファクタリングスレ」を立てたことを認めているww
さすが、無職でWindowsしか使えないだけはあるw
だれも同調してくれないww 説得力もカリスマ性も感じないからなw
↓のスレも
ソースコード品質検定試験が世の中には必要だ
http://kanae.2ch.net/test/read.cgi/prog/1411354584/
同一人物が立てたスレだと自白しました。
そして、人物の正体も自白しました。
>5 名前:仕様書無しさん[sage] 投稿日:2014/09/22(月) 17:48:09.54
>無職Windowsしか使えないリファクタリング馬鹿がまたスレたてやがった
>
>6 名前:仕様書無しさん[sage] 投稿日:2014/09/22(月) 21:31:27.59
>>>5
>たてたね。それで?
>
>なにか言い返したいことがあるのなら
>いっていいだぜ?w
>
>7 自分:仕様書無しさん[sage] 投稿日:2014/09/23(火) 07:22:55.61
>>>5
>自然と、「無職」「Windowsしか使えない」「ム板でリファクタリングスレ」を立てたことを認めているww
さすが、無職でWindowsしか使えないだけはあるw
だれも同調してくれないww 説得力もカリスマ性も感じないからなw
620デフォルトの名無しさん
2014/09/23(火) 12:26:15.85ID:aBTcR7ac621デフォルトの名無しさん
2014/09/23(火) 16:29:00.40ID:wrw0I4Vi まだ無職が語るの?
恥ずかしいからお前の社会的立場を恥ずかしくない位置にリファクタリングしてからプログラムのリファクタリングを語れよw
恥ずかしいからお前の社会的立場を恥ずかしくない位置にリファクタリングしてからプログラムのリファクタリングを語れよw
622デフォルトの名無しさん
2014/09/23(火) 16:45:57.11ID:wrw0I4Vi しかし、この超売り手市場なのに就職出来ないって、相当無能なんだな
623デフォルトの名無しさん
2014/09/24(水) 17:32:35.84ID:iVFJW3Cg いやぁ馬鹿スレを止めてくれてありがたい
完全に自爆だけどな(笑
完全に自爆だけどな(笑
624デフォルトの名無しさん
2014/09/25(木) 08:00:06.24ID:2gwTj0ip え?
マジで!?いろいろ見て回ってきたけど
ゲーム作りたくてプログラマになったけど、就職できず、Windowsしか扱えないので、派遣でコボルやるもクビになって無職
なの?!( ;´Д`)
そんな身分で、現役のプロのプログラマにプログラム、プログラミングにたついて講釈たれてたの?
ε-(´∀`; )
どんだけ、恥知らずというか、身の程知らずというか、小保方というか。
空いた口が塞がらないわ(^◇^;)
マジでお前自信をリファクタしろよ(・Д・)ノ
マジで!?いろいろ見て回ってきたけど
ゲーム作りたくてプログラマになったけど、就職できず、Windowsしか扱えないので、派遣でコボルやるもクビになって無職
なの?!( ;´Д`)
そんな身分で、現役のプロのプログラマにプログラム、プログラミングにたついて講釈たれてたの?
ε-(´∀`; )
どんだけ、恥知らずというか、身の程知らずというか、小保方というか。
空いた口が塞がらないわ(^◇^;)
マジでお前自信をリファクタしろよ(・Д・)ノ
625デフォルトの名無しさん
2014/09/25(木) 12:50:36.36ID:fB0UYRRr という妄想を書く人って、
実社会では自分が落ちこぼれなのかな。
実社会では自分が落ちこぼれなのかな。
626デフォルトの名無しさん
2014/09/25(木) 17:28:15.70ID:oxMb9EZk 不用意に自供しといて妄想とかw
627デフォルトの名無しさん
2014/10/05(日) 23:35:12.83ID:gYmu4Dn/ リファクタリング良さそうなんだけど、いろいろ疑問点があります
上で内部的インターフェイスの変更もリファクタリングに含まれるという話がありましたが
インターフェイスを作り変えたら対応するテストケースも作り変える必要がありますよね?
その場合、リファクタリング内でテストケースに手を付けて
インターフェイスとテストケースを同時に作ってしまっていいものでしょうか?
外部的インターフェイスに指定したテストケースのみパスすれば
問題ないと考えるのでしょうか?
上で内部的インターフェイスの変更もリファクタリングに含まれるという話がありましたが
インターフェイスを作り変えたら対応するテストケースも作り変える必要がありますよね?
その場合、リファクタリング内でテストケースに手を付けて
インターフェイスとテストケースを同時に作ってしまっていいものでしょうか?
外部的インターフェイスに指定したテストケースのみパスすれば
問題ないと考えるのでしょうか?
628デフォルトの名無しさん
2014/10/07(火) 01:36:41.20ID:0pCKu6Fp テストケースは全部通さないと駄目だよ
人間の書くテストが全部網羅してるとも限らないから
テストの穴を突いた部分が他所で影響してるかもしれない
原則としてよほどの事でもない限り一度リリースしたら手をつけないがベスト
リファクタリングなんて幻想だからやめなさい
人間の書くテストが全部網羅してるとも限らないから
テストの穴を突いた部分が他所で影響してるかもしれない
原則としてよほどの事でもない限り一度リリースしたら手をつけないがベスト
リファクタリングなんて幻想だからやめなさい
629デフォルトの名無しさん
2014/10/07(火) 09:53:16.20ID:pP8u07NL インタフェースを作り替えたらテストも必要
というかテストできない・しづらいインタフェースを作ったらあかん
というかテストできない・しづらいインタフェースを作ったらあかん
630627
2014/10/07(火) 20:19:23.95ID:J1sG3mPW >>628
> テストケースは全部通さないと駄目だよ
内部動作をリファクタリングする場合はそうだと思います。
> 人間の書くテストが全部網羅してるとも限らないから
> テストの穴を突いた部分が他所で影響してるかもしれない
100%のテストはないけど、十分捕捉率の高いテストと
十分機能変更の余地が低いリファクタリング手法の組み合わせで
実用になるというのがリファクタリングの主張ですよね。
内部動作のリファクタリグだけならそれでいいんですけど、
ただやっぱりインターフェイスの拡張・取捨選択も
やりたくて、そういう場合どうすればいいのかなと。
> 原則としてよほどの事でもない限り一度リリースしたら手をつけないがベスト
一度リリースしたっきりでソースのことを忘れ去っても
大丈夫なプロジェクトならそうかもしれませんが、
リファクタリングがターゲットにするプロジェクトは
リリースした後に(リファクタリングするしないに関わらず)
何度も手を付けてメンテナンスすることが要求されるような
継続性のあるプロジェクトではないでしょうか?
> リファクタリングなんて幻想だからやめなさい
上手くいくと言っている人も多いので、
安易に幻想だと断定もできないように思います。
幻想だとはっきり納得出来たらやめます。
> テストケースは全部通さないと駄目だよ
内部動作をリファクタリングする場合はそうだと思います。
> 人間の書くテストが全部網羅してるとも限らないから
> テストの穴を突いた部分が他所で影響してるかもしれない
100%のテストはないけど、十分捕捉率の高いテストと
十分機能変更の余地が低いリファクタリング手法の組み合わせで
実用になるというのがリファクタリングの主張ですよね。
内部動作のリファクタリグだけならそれでいいんですけど、
ただやっぱりインターフェイスの拡張・取捨選択も
やりたくて、そういう場合どうすればいいのかなと。
> 原則としてよほどの事でもない限り一度リリースしたら手をつけないがベスト
一度リリースしたっきりでソースのことを忘れ去っても
大丈夫なプロジェクトならそうかもしれませんが、
リファクタリングがターゲットにするプロジェクトは
リリースした後に(リファクタリングするしないに関わらず)
何度も手を付けてメンテナンスすることが要求されるような
継続性のあるプロジェクトではないでしょうか?
> リファクタリングなんて幻想だからやめなさい
上手くいくと言っている人も多いので、
安易に幻想だと断定もできないように思います。
幻想だとはっきり納得出来たらやめます。
631627
2014/10/07(火) 20:20:02.46ID:J1sG3mPW >>629
> インタフェースを作り替えたらテストも必要
> というかテストできない・しづらいインタフェースを作ったらあかん
テストしづらくはないのですが、
例えば1つ1つの public メソッドにテストを書いていたら
とても作業が時間内に終わらないというような、
時間がかかってしまう的な問題です。
でも public メソッドはクラスの持つインターフェイスだから
テストは必要ってことですか?
> インタフェースを作り替えたらテストも必要
> というかテストできない・しづらいインタフェースを作ったらあかん
テストしづらくはないのですが、
例えば1つ1つの public メソッドにテストを書いていたら
とても作業が時間内に終わらないというような、
時間がかかってしまう的な問題です。
でも public メソッドはクラスの持つインターフェイスだから
テストは必要ってことですか?
632デフォルトの名無しさん
2014/10/08(水) 15:43:43.04ID:AP5j0Y8f ただ、そのテストのメンテナンス、テストを減らしたり、改善したり、
そういう話はまだ多くないんですね。(例えば)テストが増えてくると、
全部のテスト通すのに 3 時間かかったりとか、 テストの量自体が問題になってくる。
またテストが実装に深く依存してて、リファクタリングしたらテストが
ばーっと真っ赤*49になっちゃうからやめようみたいな話とか。
テストをたくさん書けば良いってものじゃないんですよ。
設計の改善を前後で担保するためのテストだったはずなのに、
設計改善の邪魔をしてるんじゃないか? と。
テストが変更のコストを一定にするという夢を俺たちは見てやってきたのに、
テストが増えると変更コストが上がっていないかい? という問題に対してどう戦うか、
それが今の TDD の主戦場だと思っています。
http://www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview43.html
そういう話はまだ多くないんですね。(例えば)テストが増えてくると、
全部のテスト通すのに 3 時間かかったりとか、 テストの量自体が問題になってくる。
またテストが実装に深く依存してて、リファクタリングしたらテストが
ばーっと真っ赤*49になっちゃうからやめようみたいな話とか。
テストをたくさん書けば良いってものじゃないんですよ。
設計の改善を前後で担保するためのテストだったはずなのに、
設計改善の邪魔をしてるんじゃないか? と。
テストが変更のコストを一定にするという夢を俺たちは見てやってきたのに、
テストが増えると変更コストが上がっていないかい? という問題に対してどう戦うか、
それが今の TDD の主戦場だと思っています。
http://www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview43.html
633デフォルトの名無しさん
2014/10/08(水) 17:47:03.08ID:No3WRPQd >>632
下手なテストを書くとそうなるって話ですね。
下手なテストを書くとそうなるって話ですね。
634デフォルトの名無しさん
2014/10/08(水) 23:56:17.82ID:UFd7lKdk よくわからんが何かの言い訳に使えそうな
635デフォルトの名無しさん
2014/10/09(木) 10:21:37.01ID:IFg54I5e テストできない・しづらいインタフェースを作ったらあかん
636デフォルトの名無しさん
2014/10/09(木) 20:44:29.80ID:zf/NUEdS ボタン一個一発こそ至高
637デフォルトの名無しさん
2014/10/12(日) 07:13:20.02ID:jwvcB2bY >>627
有能な人材だけで構成されているなら可能
でも有能な人材はそもそもそんなコードを書かない
つまり、現実では実現不能ということ。
よく考えてよ。
ゲーム会社への就職も面接すらいけずに終わり、他の会社も全滅、登録派遣しかなく
ようやく派遣されたCOBOLでクビになり、
自分は有能だと思い込んでいるケドWindowsしか使えない
無職の人の立てたスレだよ?
有能な人材だけで構成されているなら可能
でも有能な人材はそもそもそんなコードを書かない
つまり、現実では実現不能ということ。
よく考えてよ。
ゲーム会社への就職も面接すらいけずに終わり、他の会社も全滅、登録派遣しかなく
ようやく派遣されたCOBOLでクビになり、
自分は有能だと思い込んでいるケドWindowsしか使えない
無職の人の立てたスレだよ?
638デフォルトの名無しさん
2014/10/12(日) 13:23:31.01ID:08qsWg0a >>637
返信ありがとうございます
> よく考えてよ。
誰が立てたかでなく、何を言っているかで判断しています
> 有能な人材だけで構成されているなら可能
627 では可能かどうかという聞き方はしていないのですが、
627 のどの部分を指して可能と言われているのでしょうか?
> でも有能な人材はそもそもそんなコードを書かない
これも、627 ではどんなコードかに関して言及していないと
思うのですが、そんなコードというのは何を指しているのでしょうか?
返信ありがとうございます
> よく考えてよ。
誰が立てたかでなく、何を言っているかで判断しています
> 有能な人材だけで構成されているなら可能
627 では可能かどうかという聞き方はしていないのですが、
627 のどの部分を指して可能と言われているのでしょうか?
> でも有能な人材はそもそもそんなコードを書かない
これも、627 ではどんなコードかに関して言及していないと
思うのですが、そんなコードというのは何を指しているのでしょうか?
639デフォルトの名無しさん
2014/10/12(日) 14:51:47.69ID:jjrAIsW+ 世の中に汚いコードが溢れてるってことだなw
リファクタリングは汚いコードを直すことじゃないよ。
コードは修正するたびに(≒機能追加)
どんどんコードが増えていく。
素人集団は、コードの既存部分を直さずに追加するだけで終わらせる。
有能な人材はそもそも汚いコードを書かないというが、
それは、有能な人材は、リファクタリングをしながら機能追加していくから
汚いコードに"成長しない" ということを意味する。
リファクタリングは汚いコードを直すことじゃないよ。
コードは修正するたびに(≒機能追加)
どんどんコードが増えていく。
素人集団は、コードの既存部分を直さずに追加するだけで終わらせる。
有能な人材はそもそも汚いコードを書かないというが、
それは、有能な人材は、リファクタリングをしながら機能追加していくから
汚いコードに"成長しない" ということを意味する。
640デフォルトの名無しさん
2014/10/12(日) 15:32:46.02ID:08qsWg0a 設計がまずかったり場当たり的に組んでしまったりして
いったん汚いコードになってしまったらもう手遅れですか?
汚いコードをインターフェイスを変えつつ
改善していきたいと思っているのですが
いったん汚いコードになってしまったらもう手遅れですか?
汚いコードをインターフェイスを変えつつ
改善していきたいと思っているのですが
641デフォルトの名無しさん
2014/10/12(日) 16:01:06.81ID:jjrAIsW+642デフォルトの名無しさん
2014/10/13(月) 12:31:48.66ID:dRUWRUgv コードが汚いとか騒ぐやつは総じて低スキル
643デフォルトの名無しさん
2014/10/13(月) 17:48:27.91ID:qVWnI3+v644デフォルトの名無しさん
2014/10/13(月) 21:27:10.38ID:mV3fqIh9 >>643
ではリファクタリグしたとしても汚いコードは汚いままなのですね
ではリファクタリグしたとしても汚いコードは汚いままなのですね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 【高市速報】小野田キミ「中国依存はリスク」断交を示唆か [931948549]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【んな専🏡】なんG 姫森ルーナ(・o・🍬)総合スレ🏰【ホロライブ▶】
- 【速報】中国、高市の発言撤回を改めて要求 [834922174]
- 【悲報】高市早苗周辺「支持層が離れるので今更発言を撤回できない」 [935793931]
