メリットがあるから
バグが起きた時に、原因を特定するまでの時間が短くなる。
バグが起きた時に、修正するまでの時間が短くなる。
バグが起きた時に、修正漏れが少なくなる。
機能を追加する時に、影響調査にかける時間が短くなる。
機能を追加する時に、修正するまでの時間が短くなる。
現行のシステムの挙動を調査する時に、かかる時間が短くなる。
デメリットは?
機能を追加する時に、リファクタリングする分は時間がかかる。
注意点
小規模なシステムでは上記のメリットはあまり当てはまらない。
ちゃんとリファクタリングしないと上記のメリットは当てはまらない。
なぜ良いことがあるのか(一例)
変数などの名前が適当であることで、処理を読み込まなくても内容の検討がつくから(時間が短くなる)。
変数などのスコープが適当であることで、処理を読み込まなくても調査する範囲を絞り込めるから(時間が短くなる)。
コメントが適当であることで、処理を読み込まなくても内容がわかるから(時間が短くなる)。
処理を再利用することで、抜け・漏れ・見落としがすくなくなるから(品質が良くなる)。
処理を再利用することで、同じ処理であることが明示的になるから(品質が良くなる)。
データの性質を適当に定義することで、不確定要素が少なくなり、予期せぬ挙動がへるから(品質が良くなる)。
(ほかにもいろいろありそう・・)