バリデーションアルゴリズムを拡張する・後編(基礎トレ3.2)
前回の続き。
入力検証アルゴリズムをこのエントリーで完成させます。
まずはAssignアイコンについて。
Assign内で第一にやっている処理は
”Product_QuantityInStock.Valid=False”
ですね。画像の右下黄色の枠で囲んだコードです。
OutSystems Platformはノンプログラマーでも操作できるという謳い文句がありますが、これ、ノンプログラマーでは無理です。
自分、現場での経験はないけど参考書を元にプログラミングした経験はあるので、このコードの意味が分かります。
X = 2
は、数学だと「xが2ですよ」という意味です。
だけど、プログラミングにおいては意味が変わってきます。プログラミングにおいて上記の数式は、xという箱に2を代入しますよという意味になるのです。
この説明を踏まえて
Product_QuantityInStock.Valid=False
の意味はどうなるのかというと、クアンティティストックの中にあるValidという箱の中にFalseという値を代入しますという意味です。
で、ValidにFalseを入れるとアルゴリズムの1つ下の
条件文が
ProductForm.Valid
(このコードの意味は、Validは真ですか偽ですか?です)
のため、ValidにFalseを入れたため、このIF文がFalseとして処理されるのです。そうすると右側のEndへと処理が流れるということです。
だから、エラーとして正しく処理され、サーバーに間違ったデータが保存されることを防ぐことができるということです。
でも、プログラミング未経験でこの説明をしないままだったら、全員が着いて来れなくなります。それを着いて来れない本人が悪いと言うのは間違った行為です。
ITの素養のない人に向けてのトレーニング動画なのであれば、最低限の知識は伝えておくべきです。
ほらね
”フローで次にチェックする、FormのVaidプロパティに影響を与えます。”
これだけの説明では理解は進まないです。
Assignは変数のセットの機能を持っています。
そして、このトレーニングをしている人は変数すらも知らないでやっているのです。さらに、Assignの説明すらもが省かれています。
やってる人はノンプログラマーなのだから変数知らないのは当然なんです。それを度外視しているのがこの動画のミスであり、落ち度です。
情報技術(IT)の知識を知らないでやっているため、途中で挫折する人が続出するのです。それは理に適っている。
つまり合理的なんです。
次に、間違った入力をしてしまったときに警告するメッセージはこちら
警告メッセージの内容が読めないwwwwwwwwwwwww
「stock needs to be greater or equal than zero」の意味は、
“在庫が大きいか、ゼロと同等にする必要があります。”
警告メッセージの意味が分かりにくいため、適当に自分も警告文を書いておきます。在庫に-500とか入力したユーザーに贈る言葉ですので、
まあこんな感じでしょうか。
条件分岐もう一つ作ります。
前回のは在庫に0以下を入力したときの条件式でした。
今度は商品の金額にマイナス値を入力したときの警告メッセージの作成です。
金額が0より大きければTrueなので条件文はこうなります。
” ProductForm.Record.Product.Price > 0”
日本語訳すると入力フォーム内のレコードのなかにあるプロダクトデータベースのプライス列の箱の中身が0以上だったらTrueという意味です。
Falseのときは金額に-5,000円などのたわけた数値を打ち込んでいる輩に対しての警告メッセージになるため、同じように処理をしていきます。
まず、ValidにFalseを実装させます。
Falseを実装した小林の開発画面はこちらです。
次に警告メッセージを入力します。まあ、適当に
こんな感じで。
はい。バリデーションアルゴリズム(改)が完成しました。
アルゴリズムの完成図
結構簡単でした。ただ、ITの知識がないと意味不明になると思います。
にしても見事なまでにすべてが英文ですね。
それでは、アプリを起動してバリデーション(入力検証)を試してみます。
金額をわざと-500円にして
Saveボタンを押してみると
ちゃんと波紋パワーが伝わりました。
日本人として誇らしいです。
しかも画面に警告文を出すことで、まだこの画面に留まっているため、やり直しをすることができます。また、サーバーに変なデータを保存させない検閲にもなっています。
次に在庫量を-2にしてみます。
ちゃんと警告メッセージが出るか検証してみなければなりません。
この状態でSaveボタンボタンを押すと
ちゃんとざまああああああああああああ!!!が表示されました。
日本人として誇らしいです。
<アプリを作り終えた感想>
アルゴリズム回なので楽しかった。
指の皮が剥がれた状態で2,000文字タイピングしたのでちょっとだけ辛かった。
自分はアルゴリズム好きだからやってて辛くないのだと思う。アルゴリズム嫌いな人がこのトレーニングやったら、とても大変なトレーニングだと印象に残るのだと思う。
すべて英語で記述しないといけないため、アルゴリズム内は英文だらけだったけど、やっていることはかなり簡単なので、アルゴリズムに親しんでもらえればと小林は考えます。
コンピューターは情理ではなく、論理で動いているため、コンピューターを理解しようとすると最終的にアルゴリズム(論理演算)にぶち当たります。
なのでアルゴリズムは好きになってしまったほうが楽です。どうしても避けては通れない部分です。「知りたいという気持ち」を持続させれば、あとは脳が勝手に覚えていってくれます。
(次のトレーニングに続く)