テストも書かないでリファクタリングとかうけるw
まずな、リファクタリングでは機能追加・修正は行わない。
動作はまったく同じでコードをきれいに書き換えること。
書き換えるといっても、これなら同じ動きだろ?って推測でやってはいけない。
まずテストを書く。ユニットテストをできるように、
単一のクラスでインスタンスを作る。
汚いコードなのだからたいていは依存関係のせいで単一ではクラスが生成できない
それを生成するために、クラスの動作を書き換える。
といっても元のコードは修正しない。継承やプリプロセッサを使って
依存関係を断ち切るために既存のコードを上書きする。
どうしてもそれが不可能な場合には、決められた手順で最小のコード修正を行う
そうやって既存のクラスのユニットテストを行う。
それでやっとリファクタリングが行える。
既存のクラスのユニットテストを通るように新たなコードに修正、
もしくは新規作成して置き換える。
この手順と考え方を守ってないのはリファクタリングではない。
で?
探検
リファクタリングをただのコード修正と思ってる人へ
■ このスレッドは過去ログ倉庫に格納されています
2010/05/29(土) 17:25:56
830デフォルトの名無しさん
2017/02/10(金) 23:48:55.17ID:+KYQgfiL 誰が特定のリファクタリング作業の話をしてるんだ?
誰がはどうでもいいや「特定の」ってどれのことだよ?
誰がはどうでもいいや「特定の」ってどれのことだよ?
831デフォルトの名無しさん
2017/02/11(土) 00:00:12.78ID:o1zrWG0U TDDの例出したからTDDに限定した話だって勘違いしてるんでしょ
832デフォルトの名無しさん
2017/02/11(土) 00:04:14.10ID:p/3UeWk3 >>829
「特定の」がなにか言うだけだよ。
お前がちゃんと考えて発言しているなら
簡単な質問なはずだが?
もっとも俺はお前が何も考えてないってことを
あぶり出すために「特定の」が何か聞いたんだけどなw
「特定の」がなにか言うだけだよ。
お前がちゃんと考えて発言しているなら
簡単な質問なはずだが?
もっとも俺はお前が何も考えてないってことを
あぶり出すために「特定の」が何か聞いたんだけどなw
833デフォルトの名無しさん
2017/02/21(火) 23:44:51.93ID:8I0Tfvzv お、あぶり出してるねえ
834デフォルトの名無しさん
2017/02/22(水) 01:09:25.60ID:TiP/fttU このスレの存在忘れてたわw
なんだ逃げたのかw
なんだ逃げたのかw
835デフォルトの名無しさん
2017/02/22(水) 12:59:43.56ID:zJ9IFSdf >>423 >>426 のやつNot Foundになってた
リファクタリングの誤用
https://bliki-ja.github.io/RefactoringMalapropism/
リファクタリングの境界線
[見当たらない]
インタフェースの変更はリファクタリングか
https://bliki-ja.github.io/IsChangingInterfacesRefactoring/
未知のバグフィックスはリファクタリングか?
https://bliki-ja.github.io/IsFixingAnUnknownBugRefactoring/
最適化はリファクタリングか?
https://bliki-ja.github.io/IsOptimizationRefactoring/
宣言の順序変更はリファクタリングか?
https://bliki-ja.github.io/IsDeclarationOrderingRefactoring/
リファクタリングの誤用
https://bliki-ja.github.io/RefactoringMalapropism/
リファクタリングの境界線
[見当たらない]
インタフェースの変更はリファクタリングか
https://bliki-ja.github.io/IsChangingInterfacesRefactoring/
未知のバグフィックスはリファクタリングか?
https://bliki-ja.github.io/IsFixingAnUnknownBugRefactoring/
最適化はリファクタリングか?
https://bliki-ja.github.io/IsOptimizationRefactoring/
宣言の順序変更はリファクタリングか?
https://bliki-ja.github.io/IsDeclarationOrderingRefactoring/
836デフォルトの名無しさん
2017/02/23(木) 18:03:32.56ID:G3lxPXWh 定義から定まってないからなリファクタリングって
いや、実在するのか?
いや、実在するのか?
837デフォルトの名無しさん
2017/02/23(木) 22:07:14.34ID:Ka1UMSVA 殆どの用語は定義なんか定まってないよ
数学でさえ、ある用語に対して数学ではこういう定義で
使いましょうと決めているだけ
数学でさえ、ある用語に対して数学ではこういう定義で
使いましょうと決めているだけ
838デフォルトの名無しさん
2017/02/26(日) 20:54:48.09ID:wNjUkQs3 ソースを組んだときと今とでチンコのポジションを若干変更した
これがリファクタリングである
これがリファクタリングである
839デフォルトの名無しさん
2017/02/26(日) 22:44:41.65ID:zOBszuQK 特定の統合開発環境のリファクタリング機能をリファクタリングだと言ってるやつはいなくなったなw
840デフォルトの名無しさん
2017/02/27(月) 01:14:12.49ID:IXzsv4Rb 俺の中では変数名の変更=リファクタリング
Visual Studioの機能名がそうだったから
Visual Studioの機能名がそうだったから
841デフォルトの名無しさん
2017/02/27(月) 01:49:20.76ID:j4xHFZFw 俺の中では、マーチン ファウラーのリファクタリング本(古い方)に
のっているのがリファクタリング
変数名の変更ももちろんのってる
後はそのリファクタリングをどれだけ簡単に
正確に行えるかの違い。
ローカルスコープ程度で済むものなら良いけど
スコープが広い部分のリファクタリングは手動でやるのは大変
それを自動的に間違いなく行える、静的型付け言語+IDEの力は偉大
のっているのがリファクタリング
変数名の変更ももちろんのってる
後はそのリファクタリングをどれだけ簡単に
正確に行えるかの違い。
ローカルスコープ程度で済むものなら良いけど
スコープが広い部分のリファクタリングは手動でやるのは大変
それを自動的に間違いなく行える、静的型付け言語+IDEの力は偉大
842デフォルトの名無しさん
2017/02/27(月) 02:49:09.61ID:Ydy+ZWkb あるスコープの中で外部から見た仕様を変えずに内部の設計を変えるのがリファクタリング
843デフォルトの名無しさん
2017/02/27(月) 17:22:25.25ID:IXzsv4Rb >>842
それではチンコのポジションも
それではチンコのポジションも
844デフォルトの名無しさん
2017/02/27(月) 22:10:17.46ID:Ydy+ZWkb チンポジ設計
845デフォルトの名無しさん
2018/05/23(水) 23:04:38.11ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
K2FKH
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
K2FKH
846デフォルトの名無しさん
2018/07/04(水) 23:04:33.21ID:gFgZc5FG GKH
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★3 [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【朗報】日銀植田総裁「高市さんからの要望は特になかった」 [519511584]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 高市早苗政権「経済的威圧をしてくる国はリスク」 トランプぴょんぴょん政権さん…… [175344491]
