質の高いプログラムを書くためのアドバイス

ホーム > 芸術的なプログラマ > 5つの書き方 その5 拡張性

芸術的なプログラマ

:: artistic programmer ::

5つの書き方 その5 拡張性

プログラムにバージョンアップはつきものです。

機能の追加や修正は、必ずおとずれます。
その際、どんなに小さな機能であっても、プログラムを修正しなければなりません。

あなたはこれまでに、
「ちょっとした機能の追加なのに、プログラムを大幅に修正した」

そんな経験ありませんか?
またそれは、次のような修正ではありませんか?

「関数(またはメソッド)にデータを渡すための引数を増やした」
「データを管理する配列の要素数を増やした」

ほとんどの場合において、扱うデータを増やしたときに修正が多くなる傾向にあります。

このような修正は、データが増えるたびに行うことになります。
しかし、毎回同じような修正をするというのは、あまり賢いとはいえません。

ここは、データの扱い方を見直してみましょう!

○データを増やすごとに引数が増える場合
データをグループ化します。
クラス(または、構造体)を作成して、その中でデータを管理するのです。

そしてデータを引数に渡すのではなく、そのクラスを引数に渡すのです。

そうすれば、データを増やしてもクラスに追加するだけで、データに関連するすべての関数に引数を追加する必要はなくなります。

○データを増やすごとに配列の要素数が増える場合
データをリストなどのデータ構造で管理するようにします。

それによって、要素数を変更する必要がなくなります。
また、データの追加や削除が簡単にできるようになります。

このようにデータの扱い方を変えることで、修正する部分を減らせます。 修正する部分を減らせば、それだけ修正時間を短縮することになります。

そして、余った時間をデバッグやテストなど、他にまわすことができます。

これは開発効率がアップすることを意味します!

「必要最小限の部分を修正する」
これを実現させるには、データの扱いに余裕を持たせることが基本となります。

データの扱いに余裕を持たせることで、
「データをいくら増やしても修正なし」

にすることも可能になり、修正があったとしても一つや二つで済むようになります。

▼ 「拡張性」を考えた書き方のポイント

  • 引数に与えるデータをグループ化する
  • 増えるデータはリストなどのデータ構造で管理する
  • データの扱いに余裕を持たせる

ホーム > 芸術的なプログラマ > 5つの書き方 その5 拡張性

Copyright (C) 2005-2007 Noto Watabe. All rights reserved.
e-mail:wmh@always-pg.com