カッコ忘れ

あるアプリ開発でのこと。特定の実機に特化していて、エミュレータで動かすとクラッシュするんですね。android studioで編集、RUNしてから、実機で動くまで、1〜2分かかります。

Java部分の間違いは、android stuidoがシンタックスエラーを表示してくれますし、コンパイルエラーになるので、すぐにわかります。

GPUImageFilterのシェーダは、編集して、RUNして、実機で動かして、画面が黒い、LogCatを見て、シンタックスエラーに気づきます。2分ぐらい待って、セミコロンを忘れた、とがっかりします。

それはさておき、画像の変形のロジックやパラメータ調整をするのに、Javaソースやシェーダソースのどこかを編集しては、2分待つのが、まどろっこしいです。

そこで、HTMLのCanvasにJavaScriptで描画して、ロジック確認していました。

ところが、どうも期待どおりの描画になりません。console.logすると、10万ピクセル以上の量なので、ブラウザが固まってしまいます。

きりのいい値にする、ピクセル数を減らす、プログラムの行を減らす、さまよった結果、ようやく原因がわかりました。カッコ忘れでした。

// 間違い
x = (a + b) * c;

// 正しい
x = a + b * c;Code language: JavaScript (javascript)
タイトルとURLをコピーしました