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

回答編集履歴

1

在りません→ありません

2015/12/15 03:45

投稿

yuba
yuba

スコア5570

answer CHANGED
@@ -4,6 +4,6 @@
4
4
 
5
5
  **良いコード習慣の強制**というのは、テストコードを書くためには製品コードの側もテストを書きやすい構造になっている必要があるため、必然的に疎結合で副作用が少なくて入出力仕様がはっきりしていて責務が単純なコードを書かざるを得なくなるということです。結果的に、とても良いコードになります。
6
6
 
7
- **リファクタリングをするための必要条件**。製品コードがバージョンアップを進めるにつれてこんがらがった訳のわからないコードになっていくのは何度も経験されていると思います。コードの体質改善を随時していかないと拡張困難・デバッグ困難な闇鍋になるのは時間の問題です。ではその体質改善つまりリファクタリング、やれば良いというものではりません。
7
+ **リファクタリングをするための必要条件**。製品コードがバージョンアップを進めるにつれてこんがらがった訳のわからないコードになっていくのは何度も経験されていると思います。コードの体質改善を随時していかないと拡張困難・デバッグ困難な闇鍋になるのは時間の問題です。ではその体質改善つまりリファクタリング、やれば良いというものではりません。
8
8
  「動いているコードをいじるな」とよく言われるとおり、良くしようとしていじったばかりにデグレ、バグを作り込んでしまうのは商売でソフトを書いていたら致命的なミス。リファクタリングにあたってデグレだけは避けねばならないのです。
9
9
  そこで自動テスト。もともとグリーンだったテストがリファクタリング後もグリーンなら、ミスがなかったことがある程度保証されます。もちろん完全な保証ではないけれど、リファクタリングはしなきゃいずれ死ぬのは自分、命綱が付けられるなら頼ろうよ、というわけです。