一週間でわかるプログラマになる方法

第6日目:プログラムを改良する

プログラムを改良する


プログラムを洗練させよう

図6-1.アプリを進化させていく
進化・洗練

この段階まで来ると、「自分の力でアプリケーションを作り上げた」と言ってもよい段階に来ています。しかし、もしも独力でここまでたどり着けたなら、おそらくここで満足はできないはずです。

なぜなら、この段階では、プログラムを「ようやく仕上げた」段階に過ぎず、見た目はだいぶん良くなったものの、きっとプログラムの中身はそれとは程遠い…というのが本当のところでしょう。

本当のプログラマーは、ソフトウェアの見た目だけではなく、中身も洗練されていなくてはなりません。そこで、ここでは、どのようにしてソフトウェアを洗練させるかということについて学んでいきましょう。

ソースコードをきれいにする

とりあえずこの段階でやるべきことは、「ソースコードをきれいにする」ということです。その基本として、まずはプログラムにコメントをつけるようにしましょう。

コメントとは、プログラムにおける注釈のことであり、「この部分はプログラムの中に置いてどのような働きをするか」といったことを説明するものです。

通常、プログラマーは適切な場所に、適切なコメントをつけるのがたしなみです。まずはプログラムにコメントを書いて、中で何をしているか、しっかりわかるようにしましょう

プログラムから無駄を排除する

また、おそらくプログラムの中には、おそらく多くの「無駄な」処理が入っていると思われます。ほぼ同じような処理が、別々の場所に何度も記述されていたり、必要もない処理があったり…などなど。

プログラムが完成したら、こういった無駄を排除していきましょう。似たような処理は一か所に集中させて集約し、必要なものは排除していきましょう。そうすることにより、プログラムはよりわかりやすく、洗練されたものになっていきます。

リファクタリングとソフトウェアテスト


リファクタリングとは

前述のような方法でプログラムを洗練させるやり方を、リファクタリングと言います。リファクタリングとは、ソフトウェアの外部的振る舞いを保ちつつ、理解や修正が簡単になるように、内部構造を改善することです。

なので、意味もないやみくもな変更や、外部のふるまいを変えてしまうような変更はリファクタリングとは言いません。

リファクタリングを行う理由は、理解や修正が簡単になるように、内部構造を改善することです。なので、ソースコードにリファクタリングが施されたアプリケーションは非常に変更に強く、すぐれたものになります。

→ リファクタリング関連の書籍

ソフトウェアテスト

また、リファクタリングと同時に、というかリファクタリングとは切っても切り離せない概念として、「ソフトウェアテスト」があります。

ソフトウェアテストとは、コンピュータのプログラムを実行し、正しく動作するか、目標とした品質に到達しているか、意図しない動作をしないかどうかを確認する作業のことです。通常、ソフトウェアを開発する際には、各機能に対してこのテスト項目を決めて、この項目をすべてクリアしたものを「合格」と見なします。

さて、すでに説明したリファクタリングは、ソースコードの変更により外部へのふるまいが変わってしまっては意味がありません。そこで、この「外部へのふるまいが変わらない」ことを保証するのが、ソフトウェアテストです。

プログラム内のある機能のソースコードに対して、テスト項目を用意し、それがクリアされたとします。つまり、「テストの結果が同じ」ことにより、リファクタリングが正しく行われた、と見なすわけです。(図7-2.)

→ ソフトウェアテストの書籍

図6-2.テストとリファクタリング
テストとリファクタリング

開発したソフトウェアにさらなる改良を

以上を踏まえ、開発したソフトウェアをより洗練されたものにしたら、さらにまたいろいろな機能を追加するなどして、改良を加えていきましょう。

改良を加えたらまたリファクタリングを行い、プログラムを変更する…というプロセスを繰り返していけば、ソフトウェアの完成度はより高くなり、プログラミングの腕も上達することでしょう。

戻るトップへ戻る次へ

↑ PAGE TOP