リファクタリング

仕事では、時間がなかったり、技術力が足りなかったりして、やっつけでコードを書いてしまいがち。結果、コードが汚くなっていく。コピペの重複コードとか、不適切な変数名とか。

そういうのが積み重なって、コードがわからなくなっていく。それを技術的負債と呼ぶ。とりあえず動いていても、バグ修正や仕様変更、担当引き継ぎのときに苦労することになる。技術的負債を解消することをリファクタリングと呼ぶ。地道にリファクタリングしていくほうが、その時間を新規開発に充てるより多くの場合長期的に得である。

リファクタリングは、まとめてやるととたんに難しくなる。少しずつ、こまめに、毎日やるべき。

大がかりなリファクタリングは、状況を考慮してやるかどうか決定しよう。プロジェクト終了間際にはやる必要がないかもしれない。時間がもったいないうえに、その後コード修正が無いかもしれないから。

とはいえ、リファクタリングは怖い。うっかり変更して、不具合が出るかもしれない。このジレンマを解消するのがテスト自動化リファクタリング後にテストを行い、すべて通れば思わぬ副作用が(おそらく)ないことを確認できる。