あるプログラマの日記

プログラマのメモ、出来事、考えたこと、勉強とかの雑記

複雑さについて

プログラムの複雑の原因について、考えてみた。

  1. 将来の仕様変更、仕様追加に備えて、柔軟な対応ができるような構造にしているため。
  2. 仕様追加、仕様変更が何度もあり、つぎたされた処理が、複雑さを増している。
  3. 複雑なプログラムを書くことで自分のプライドを満足させるプログラマがプログラムを書いたため。

いずれにしても、ある時点で、複雑さが軽減できるような構造にプログラムを書き換えたほうが、その後のメンテナンスの効率が格段に上がると思います。
しかしリファクタリングしても機能的な追加が、行われるわけでもなく、逆に、いままで動作していたプログラムの品質を保証するために、再度、テストを行わなければならない等のデメリットもあります。
メリットとデメリットを天秤にかけて、メリットが大きいと判断できる場合に、リファクタリングの実施が行われるので、どうしても実際に作り直される確率は低くなってしまうのが残念です。
少しずつ、作り直しができるような構造であれば、プログラムのバージョンアップやリリースのたびに少しずリファクタリングするのが、現状では、ベターなやり方のようです。