OutSystemsエンジニアの猛勉強ブログ

初心者OutSystemsエンジニアのブログです(ぺこり)。

OutSystems戦記第2話「果てしなきバグとの戦い!!」

バグ「ヒャッハーーーーーーーッッ!!」

 

バグ「うぬらバグは滅びぬわ!!!」

 

M・ゲイツ氏「ぶちのめす!!!!」

 

M・ゲイツ氏「とてもぶちのめす!!!!」

 

M・ゲイツ氏「そんな気分んんんん!!!」

f:id:neomatsudaira:20160302163323p:plain

ということで前回の続きです。
Saveボタンを押したときの内部プログラムをUser Actionにそのままコピーしたところ、番地がずれたため、バグが大量に発生しました。

このままではこのプログラムは使い物になりません。
よって、バグの修正をこれからやっていきます。
初めっから作ったほうが早いのかもしれませんが、バグを直すのもトレーニングの一環なのだと考えます。

一つ一つバグを退治していきます。

 

なんか

f:id:neomatsudaira:20160302171241p:plain

全部英語ですね!
流石に日本人では少しキツい部分です。
バグの内容(報告メッセージ)すらもが英語で表記されています。

 

黄色の部分

f:id:neomatsudaira:20160302164015p:plain

(一つ一つバグを直している小林の開発画面です)
黄色の部分に赤線でアンダーラインが引いてあります。
これはOutSystemsが「ここがバグですよ!」と教えてくれているのです。親切な奴です。

 

バグ退治における動画の説明はこんな感じ

f:id:neomatsudaira:20160302164237p:plain

意味不明ですね!
まあ、それでもなんとかしていくのがプログラマーという職業です。偉大なる職業です。車も電車も自動車も炊飯器もすべてプログラマーがコードを書いて、デバイスに埋め込んでいます。

 

一応、初心者向けの基礎講座をやっているのですが、最近はもうこんな感じです。
今のところは慣れる以外ないのかなあって思っています。
あと、分かんないときは、動画の真似をすればいいのです。

f:id:neomatsudaira:20160302164711p:plain

バグが全然減らない(笑)。
左、中央、右すべてにバグが存在しています。
しかもバグの説明がすべて英語のため、バグの内容が分からないというこの素晴らしさよ!

ラリってきた小林なのですが、動画の動きを模倣して、なんとかしがみ着いて、歯を食いしばって、模倣しています。

 

この英文コードが読めないのは少し問題ではあるのですが、それ以前にアプリを作れないのが一番の問題です。だからとりあえずは、作るのです。

f:id:neomatsudaira:20160302165022p:plain

意味がよく分からん。

 

f:id:neomatsudaira:20160302165101p:plain

( 引数を生成させたらバグが1つ減った小林の開発画面)

残りのバグはあと4つ。Imput Parameterって引数のことだと初めて知りました。なら最初から引数って書けやー!って思いました。

1か月も開発してて、Imput Parameterが引数だと知らないで開発してました。英語の弊害を思い知った小林なのであった。

 

引数って書いてくれていたらもっと早く理解できていたと思います。

f:id:neomatsudaira:20160302165420p:plain

ここの右下の赤枠もそうなんだけど、赤枠はバグがあることを意味しており、OutSystemsエンジニアはこれを修正していきます。

修正する際にはこのコードのどこにバグがあるのかを理解しないといけません。そして、バグの部分だけを修正する必要があります。

それは何を意味するのかというと、この赤枠の英文のコードは全部読めないとOutSystems Platformを使いこなせないということです。

よって、一つ一つのコードの意味を全部理解する必要があります。手を動かしての反復トレーニングもそうなんだけど、インプット(1個1個の英単語を覚えていくこと)も必要不可欠なんだなって、このバグとの戦いにおいて、小林は実感しました。

新聞などでは、OutSystems Platformはマウスを使ったドラッグアンドドロップだけでアプリを生成できると書かれていますが、コード読めないと無理です。

必死になって食らいついていかないと単純なアプリしか作れなくなってしまいます。いずれにしろ沢山勉強していく必要があるということです。

 

例えば

f:id:neomatsudaira:20160302170018p:plain

この画面の中にはOrderIdが2つとOrderItemが1つあります。OrderId2つは意味合いがまったく異なります。よって、選択を間違えると正常にコンパイルできるものの、バグが発生します。

OrderItemとOrderIdの違いもそうですが、それら3つの意味すべてを覚えなければいけないのです。そうしないと、正しいコードではなくなってしまいます。

小林はここ↑間違えました。

 

そしてコードの意味が理解不能のため模倣しました。

f:id:neomatsudaira:20160302170241p:plain

バグあと2つ。

 

f:id:neomatsudaira:20160302170321p:plain

(最後のバグを直している小林の開発画面)

このバグを取ると一度に2つのバグが取れる。
なぜ、2つが一度に取れるのかは英語が読めないため分からない。 このバグは、番地の指定を入力フォーム内のレコード(記録)から引数に変更するとなくなります。

 

バグが全部取れました。

f:id:neomatsudaira:20160302170800p:plain

次はアルゴリズムを書いて行き、自分だけの魔法が使えるようにUser Actionを設計していきます。

 

(トレーニングは続きます)