フリープログラマにとっての質の高いプログラムとはいったいどんなことなのか

フリープログラマへの道

Home > プログラマになるには > プログラムの質

プログラムの質が高いとは、変更・修正が短時間行なえて、しかも確実に動作するプログラム

Sponsored Link

プログラムの質

良質のプログラムとは

さて、プログラムの質とはいったいなんなのでしょう。

しっかりした仕様書があれば、仕様書通りに動作すればいいプログラム? そういうことではないのです、見た目、正しく動作するのは当たり前のことです。

さて、じゃ、いったい質とは、ソースの事。 ソースが綺麗に書かれていて、コメントも充分、ドキュメントも完璧、これも当然のことなんですけど、 なんのために、ソースをちゃんと書き、コメント、ドキュメントも完璧するかという点が問題なんです。

それは、変更を容易にするためです。

一度アプリケーションを作成して納入したあと、又は作成途中で、変更が入るのは当たり前。

どんなに完璧な仕様書があろうと、どんな完成状態に近いプロトタイプを作ろうと必ずと言っていいほど、変更はあります。 そして、一度予算(見積もり)が決まってしまうと、追加予算など出ることはほとんどありません。

じゃ、最初から変更も含めて見積もりを考えてみては・・・ そんなわけにはいきません。

なので、変更に強いプログラムを作らなくてはなりません。

なぜ変更は発生するのか

答えはひとつではありません。

変更が発生する理由はたくさんあります。

  • ハード(装置)との組み合わて動作する場合、装置に問題が発生したり、装置の一部が変更になった場合ソフト変更で対処する
  •    
  • 担当者レベルではOKだった仕様がエンドユーザーレベルではまったく違っていた。
  •    
  • 単に仕様検討不十分であった
  •    

などなど考えればいくらでも出てきます。

特に装置と組み合わせたシステムの場合、変更は全てソフトで対処するというのは当たり前のこととなっています。  出来上がった装置を変更するのは、費用もかかり、現実的に不可能です。
プログラム変更で済むのであれば、掛かるのは私の人件費のみ、まして「お願い」でなんとかなってしまうからです。

担当者レベルとエンドユーザーの違い、これは以外によくあることです、 担当者の方は実際の運営を全て完璧に理解しているとは限りません。

また、エンドユーザーの方に仕様書やプロトタイプを見せてもほんとうに大丈夫なのか 判断する力はありません、本職ではないからです。

以上のように考えていくと、変更なしで済むプログラムというのは、ある意味奇跡なのです。

変更はあって当たり前、これが前提です。

仕様書に潜む変更の影

さて実際に変更に強いプログラムはどのように作成すればいいのでしょうか

まずは仕様書をよく読みましょう、そして、変更がありそうな箇所を探して見ましょう、 例えば、数量です、データ数、文字数、など、そしてクライアントに確認してみます

なぜこの数量となったのか、その経緯を問い合わせてみます。

次にデータ処理などでよく使われる、データのカテゴリー、仕様書には固定で10個と書いてあります、 よくあることですが、後々、ユーザーが設定できるようにしたいなんて変更が発生したりします。

このようにちょっと仕様書を読み返すだけでも変更の可能性のある箇所はたくさん発見できるはずです。

ようは、過去の経験と固定観念を棄てて読み返すことが重要です。  但しここで注意するべきことがあります。

予算と納期が決まっている以上、全ての変更の予測に対処するこは不可能です。  だから必要最低限の対処をすることが大切です。

変更予測に対処する時間と、後に変更に要する時間のトレードオフです。

言語の選択

プログラム製作の依頼受けるとき、 「VBでお願いしますね」とか「古いパソコンでも使いたいのでドットネットは使わないでくださいね」 とか言語に対して指定される時もあれば、 「言語はおまかせします」などと、お任せの時もあります。

VB指定の主な理由として、社内にVBが使える方がいて、納入後に社内で変更したり、教育用に使う 事などが考えられます。

さて言語はお任せの場合、基本的には、お任せなのですから、 自分の一番得意な言語で書けばいいのですが、ちょっと待ってください。

もう一度仕様書、動作環境を確認してみましょう。

もし、リアルタイム処理がなく、動作速度にも問題なく、画面中心の仕様であれば、 VBでもC#でもお得意な言語で作成すればよいと思います。

でも、100mSecのリアルタイム処理が必要な場合VBを選択することはできないでしょう、 またWindows98でも稼動させたいとあれば、ドットネットは諦めるべきでしょう。

(Windows98でもドットネットは動作します、但し処理速度の問題から避けるべきです)

では、全ての案件で万能のVCを使用すればいいのではないか、 でも、納期が3日、画面の変更がたくさん予想される場合、VBが最適かもしれません。

このように最適な言語の選択もプログラム質に大きく関わってきます。

Sponsored Link


Copyright (C) Breath.All right reserved