カテナの開発手法Lyee その3

このエントリーをはてなブックマークに追加
225TOE
>203 If sHoge = "" Then
>が「メモリフィールドが存在している否かを検証している」だって??
>VBワカッテないやん

この方の「目は節穴」のようですネ。
If sHoge = "" Then というステートメントの存在に至るプロセスを
考えてごらん。
最初は"sHoge"という単語が開発要望者から発言されたことが発端でしょ。
何故、発言したの?
それは"sHoge"という単語で示唆される「情報」がほしかったからであって、
欲しくなかったら発言しなかった筈。
プログラムはその情報になるもの(すなわち「データ」)を何らかの方法で
作らなければならないことになる。
ではプログラムはどこにデータを作るのか と言えば、
その"sHoge"というオブジェクト名をアドレスとするメモリーフイールドの筈で、
そのメモリーフイールドが無かったならばプログラムの目的は果たせないことになる。
つまり、プログラムの目的を完璧に果たす(それはユーザの意図を完璧に満たすということでもある)
ための必要条件はそのメモリーフィールドが存在することで無ければならない。
しかし、過ちを犯すことが人間なのだから、予め、そのことを確かめなければならない筈。
そのことを もしそのメモリーフィールドがメモリ上に存在しなかったならば
この If sHoge = "" Then というステートメントはコンパイル・エラーになるのだから
このステートメントは
プログラムの目的を完璧に果たす(それはユーザの意図を完璧に満たすということでもある)
ための必要条件になる筈でしょっ。

次に、"sHoge"という単語が開発要望者から発言されたその時点では
その"sHoge"という単語で示唆される「情報」がなかった筈。
もし、既にその「情報」が存在していたならば、データを作る必要はないことになる。

結局、この If sHoge = "" Then というステートメントは
ユーザの意図を満たすためのバリデーションをしていることになるじゃない。
、、、という解説も「猫に小判」かな。