アカウント名:
パスワード:
今の一般的なソフトウェアの製作過程でみれば、何らかの問題があるからリファクタリングするのであって、問題の出ていないソースコードに集中的なリファクタリングしても効果が見られないのは当然だという気がする。
もっとも、地道な研究というのも必要だとは思うし、将来的にはこういう技術の延長でプログラマがまだ気付いていない問題を顕在化する前に知らせるとか取り除いてくれるとかなら嬉しい。
いやあ、違うんじゃないですかね。リファクタリングは「動いているコードを触る」ということであって、基本的に挙動は変化しちゃいかんのですよ。挙動が変化するようなものはもはやリファクタリングじゃなく普通の修正です。なので、リファクタリングにパフォーマンス向上を求めることが筋違いではないかと。
ついでに言えば、コンピューターサイエンスの学生に評価をさせたようですけど、学生に「保守性」が本当に認識できるのか、という疑問が……。
> いやあ、違うんじゃないですかね。> リファクタリングは「動いているコードを触る」ということであって、基本的に挙動は変化しちゃいかんのですよ。> 挙動が変化するようなものはもはやリファクタリングじゃなく普通の修正です。
コードが仕様書の人はそうなりますね。仕様がきちんと規定されていれば、その範囲で実装を自由に変えられるはず。
仕様書をちゃんと書かない人は、意図せずにそうなっているだけの実装が仕様になって、それに縛られて後々どうにもならなくなる。
リファクタリングも「修正」の一種であって、変数名
リファクタリングの定義はマーティン・ファウラーによって明確に決められていると思っていたが。この件については、「挙動を変えないで、改善を図る」、という最低ラインについては共通認識としてあるのではないか。立場によってリファクタリングが違う、とするのは我田引水に聞こえてしまう。
リファクタリングは、仕様書云々とは全く別のフェーズの話でしょう。十分なユニットテスト・結合テストを準備すれば、根拠をもった改善が可能だ、とする話であって、ここからずれたらやはりそれはただの「根拠のない修正」「仕様変更」に過ぎません。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
そもそも手を入れる必要が無いのなら・・・ (スコア:1)
今の一般的なソフトウェアの製作過程でみれば、何らかの問題があるからリファクタリングするのであって、問題の出ていないソースコードに集中的なリファクタリングしても効果が見られないのは当然だという気がする。
もっとも、地道な研究というのも必要だとは思うし、将来的にはこういう技術の延長でプログラマがまだ気付いていない問題を顕在化する前に知らせるとか取り除いてくれるとかなら嬉しい。
Re: (スコア:2, すばらしい洞察)
いやあ、違うんじゃないですかね。
リファクタリングは「動いているコードを触る」ということであって、基本的に挙動は変化しちゃいかんのですよ。
挙動が変化するようなものはもはやリファクタリングじゃなく普通の修正です。
なので、リファクタリングにパフォーマンス向上を求めることが筋違いではないかと。
ついでに言えば、コンピューターサイエンスの学生に評価をさせたようですけど、学生に「保守性」が本当に認識できるのか、という疑問が……。
Re: (スコア:0)
> いやあ、違うんじゃないですかね。
> リファクタリングは「動いているコードを触る」ということであって、基本的に挙動は変化しちゃいかんのですよ。
> 挙動が変化するようなものはもはやリファクタリングじゃなく普通の修正です。
コードが仕様書の人はそうなりますね。
仕様がきちんと規定されていれば、その範囲で実装を自由に変えられるはず。
仕様書をちゃんと書かない人は、意図せずにそうなっているだけの実装が
仕様になって、それに縛られて後々どうにもならなくなる。
リファクタリングも「修正」の一種であって、変数名
Re:そもそも手を入れる必要が無いのなら・・・ (スコア:1)
リファクタリングの定義はマーティン・ファウラーによって明確に決められていると思っていたが。
この件については、「挙動を変えないで、改善を図る」、という最低ラインについては共通認識として
あるのではないか。
立場によってリファクタリングが違う、とするのは我田引水に聞こえてしまう。
リファクタリングは、仕様書云々とは全く別のフェーズの話でしょう。
十分なユニットテスト・結合テストを準備すれば、根拠をもった改善が可能だ、とする
話であって、ここからずれたらやはりそれはただの「根拠のない修正」「仕様変更」
に過ぎません。