【改善は少しづつが吉!】プログラム改善は小さな単位で確認しながら行う

皆さんはリファクタリングは好きですか?新しいものを生み出すわけではないので、あまり好きではない人もいるかもしれませんね。

個人的にリファクタリングは好きな仕事の一つです。ダメダメなプログラムを理想的な構造に改善したり、高速化できたりすると達成感がありますからね。

今回は「プログラム修正をする際の進め方」という、少しだけエンジニアブログっぽい内容になります。

修正箇所はたくさんあるけれど

いくつもの問題を抱えたプログラムを修正する場合、まず問題の原因を特定して改善していきますよね。

そのようないくつも修正箇所があるプログラムを直す場合、どのように進めますか?一気に直してしまいますか?それとも少しずつ直しますか?

私がこのようなプログラムを直す場合は、一つずつ直して各修正の効果を確認しながら進めていきます。

いろんな修正を一気に行ってしまうと...

複数の修正箇所がある場合、一気に修正と確認を行った方が効率が良いように思えます。

しかし修正後に問題が発生してしまうと、どの修正が影響して問題が発生したのか分からなくなってしまいます。


例えばA・B・C、3つの修正が必要なプログラムがあったとします。

この3つの修正を行った後で問題が発生すると、どれが原因で問題が発生したのか分からなくなってしまいます。

そしてどの修正が問題を起こしているのか、一つ一つ調査するという作業をしなければなりません。

ですが一つずつ修正して確認を行うように進めれば、問題のある修正を行った時点で気付けるため、調査に時間を取られることがありません。

一つずつ修正して確認すれば...

少しずつ試すと効果が見極めやすい

また少しずつ修正して効果を確認することで、各修正の効果が見極められるという利点もあります。


例えばプログラムを高速化する場合を考えてみましょう。

プログラムを高速化する方法として、D・E・Fの3つの案を思いついたとします。

もしD・E・Fの全ての修正を行ってプログラム高速化が実現できたとしても、どの修正がどれくらいの効果があるのか把握できません。

ですが、ひとつずつ修正を行うことにより「どの修正がどれくらい効果があるのか?」や「遅くなってしまう修正が含まれていないか?」ということも確認することができます。

一つずつ修正して確認すれば...

おわりに

プログラムの作成や修正に慣れてくると、一気に修正を行ってしまいがちです。私も昔はそういった時期がありました。

しかしプログラムの修正を一気に行うと、かえって時間がかかってしまう事もあるんですよね。

プログラムの修正を行う際は、少しずつ修正と確認を繰り返しながら進めると良いのではないでしょうか。