teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

リファクタリングを適用するための基準を追記

2016/02/21 02:15

投稿

退会済みユーザー
answer CHANGED
@@ -13,4 +13,18 @@
13
13
  Martin Fowlerの本"リファクタリング 既存のコードを安全に改善する”
14
14
  に詳しいです。
15
15
  この本を読むとリファクタリングだけでなく、
16
- オブジェクト指向プログラミングへの理解が大変深まるのでおすすめです。
16
+ オブジェクト指向プログラミングへの理解が大変深まるのでおすすめです。
17
+
18
+ 2016/02/20 追記
19
+ この質問への回答の範囲を超えるのですが、ほかの人がポリシーについて答えられているので追記いたします。
20
+
21
+ リファクタリングをすべきか、すべきならどの程度やるべきかは
22
+ 対象のコードの性質によります。
23
+
24
+ もし機能追加や改修、不具合修正が頻繁にあり、かつ長期に渡って使われるプロダクトやサービスならば
25
+ 少しずつでもリファクタリングをしていくといいと思います。
26
+
27
+ それほど変更がないものなら、リファクタリングのコストがメリットを上回る可能性があります。
28
+
29
+ あと正直、業界や会社にもよりますね。
30
+ 先輩社員にリファクタリングをやっているか、まず訊いてみるといいでしょう。

1

分かりにくい表現の改善

2016/02/21 02:15

投稿

退会済みユーザー
answer CHANGED
@@ -2,10 +2,10 @@
2
2
  その積み重ねで見違えるようになっていきます。
3
3
  一気にやろうとすると、簡単なものでも動かなくなる可能性があります。
4
4
 
5
- ですので、まず最初にクラスかメソッドごとにJunitなどで単体テスト(できれば自動)を作ってください。
5
+ ですので、まず最初にクラスかメソッドごとにJunitなどで単体テストのコード(できれば自動)を書いてください。
6
6
  こちらがリファクタリングがうまくいったか(もとのまま動くか)の指標になります。
7
7
 
8
- 次に大きなメソッドを小さなメソッドに分けていってください。
8
+ 次に大きなメソッドを小さなメソッドに分けてそのたびテストを実行してください。
9
9
 
10
10
  そうしているうちに、クラス(ファイル)を分割できるぐらいほぐれてきます。
11
11