プログラミング初学者向け 二つのリファクタリングを理解する

コードのリファクタリングには二種類あるという説。

保守性をあげるためのリファクタリング

本やネット上で言われているリファクタリングは、主にこちらのような気がします。

各関数は再利用性をあげるために汎用化し、重複コードをなくす、などです。

コードが読みやすくするためのリファクタリング

もう一つは、コードを読みやすくするためのリファクタリングです。

これは保守性をあげるのとは逆のベクトルです。

例えば、再利用可能な汎用的な関数というのは、共通のものということで、それ用のファイルに切り出します。

そうすると、そういった汎用的な関数を呼び出している個所のコードを読むと、ファイルのジャンプが多発します。

IDEで簡単にジャンプできるとは言え、ジャンプすることは脳の処理能力を消費します。

一方で、処理が一箇所にまとまっている場合は、ジャンプの必要がなくなるため、コードが読みやすくなります。

ただ、当然ですが、関数の汎用化はできなくなり、重複コードが発生する可能性があるため、保守性は下がります。

これまでは保守性をあげるためのリファクタリングしか知りませんでした。

しかし、よくよく考えるとコードの理解を促すという観点でのリファクタリングも重要だと感じます。

今後はこれらをうまく使い分けられるようにしていきたいです。