|
||||||||||||||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||||||||||||||
| サンプルプログラム(カメラショップ)の例 | ||||||||||||||||||||||||||
|
まずは、カメラショップを題材としたサンプルプログラムを例にあげ、コーディングレベルについて説明します。そして、コーディングのレベルをCMMIなどの成熟モデルになぞらえて1から5に分類し(表4)、それぞれのレベルでどの点が問題になっているかを説明していきます。
|
||||||||||||||||||||||||||
|
表4:コーディングレベル |
||||||||||||||||||||||||||
カメラショップの仕様は以下の通りです。
|
||||||||||||||||||||||||||
|
表5:カメラショップの仕様概要 |
||||||||||||||||||||||||||
| レベル1:外部仕様を満たすことができないプログラム | ||||||||||||||||||||||||||
|
レベル1のプログラムのソースコードは、外部仕様を満たさない上に、余りにも見にくいものとなっています。 |
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
レベル1のプログラムのソースコードには主に以下のような問題があります。
|
||||||||||||||||||||||||||
|
表6:レベル1のソースコードの問題点 |
||||||||||||||||||||||||||
| 外部仕様を満たしていない | ||||||||||||||||||||||||||
|
レベル1のプログラムは外部仕様を満たしていません。10%のポイントがつくのではなく、10%値引きされた結果が表示されてしまいます(23行目)。 こういったミスは、仕様を理解したかどうかをコーディングに取り掛かる前にSEとプログラマの間で話し合えば防ぐことができたはずです。 |
||||||||||||||||||||||||||
| 「在庫が2回引かれる」バグが発生することがある | ||||||||||||||||||||||||||
|
条件によりバグが発生するということは、単体レベルでのテストが不十分だったということです(53行目、56行目)。 2回引かれるバグの部分は、恐らくサンプルなどをそのままコピーしたのでしょう。コードの内容を良く理解しないでサンプルをそのままコピーして作成した場合、こういったバグが発生します。 ここでコーディングの心得が効いてきます。 コーディングの心得、5ヶ条「サンプルを鵜呑みにしない」
|
||||||||||||||||||||||||||
| あまりにも見にくい | ||||||||||||||||||||||||||
|
ソースコード全体を通して適切にインデントがされておらず、大変読みにくいソースコードになっています。 「良いコード」の基本は、「他人が読んでも分かりやすい」と感じるコードです。どういう風に書いたら、読みやすく分かりやすくなるかを念頭において、常に第三者の視点を意識しながら記述して下さい。 また、自分で書いたコードであっても、時間が経って読み返してみると、内容を理解するのに時間がかかった経験はないでしょうか?「他人が読んでも分かりやすい」と感じるコードは、他の人のためだけではなく、自分のためでもあるのです。 ここでコーディングの心得が効いてきます。 コーディングの心得、5ヶ条「見やすさを重視せよ」
|
||||||||||||||||||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||


