0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Xojoで開発中にわざとエラーを起こさせる(ミスりがちな自分に)

0
Posted at

エラーを起こさせるって 何故?

エンジニアはエラーが出無いとコードが動く事を期待しますが、思ったように動かない事が
当たり前です。 書いた様にしか動かないから...

注意して書いているのですが、いまだに凡ミスをやらかす事があります。
チーム開発の現場では他のメンバのミスでレビューが流れてしまったりと
言うことがあったのですが、
一人で黙々とコードを書いていたりする場合でも、ミスは結構痛いです。

コンパイラディレクティブなんてものが無い時代はエラーをわざと起こさせて未実装部分を
判るようにしていましたが、これには
明示的な規則がないため、他人に判りづらい、本当のエラーが隠れてしまう事があり
他のメンバには奨められませんでした。

XojoのPragma

Documentのサイトを見て頂けると判るのですが、Xojoにもいくつかの便利な機能が
あります。

Pragma Error と Warnning

ここではPragma Errorを説明します。

Documentの説明では

Used to generate a compile error manually, preventing your project from compiling.
Useful for reminding you of code you have to update.
A String is required to describe the error.

AIさんに訳してもらうと

プロジェクトのコンパイルを妨げるように、手動でコンパイルエラーを発生させるために使用します。
更新が必要なコードを思い出させるのに役立ちます。
エラーの内容を記述するために、文字列が必要です。

これだけだとよく解らないのですが、実際には

Canvas.Paint
#Pragma Error "This Event NOT IMPLEMENT yet"

としておくとコンパイル時に

Window1.Canvas1.Paint, line 3
This Event NOT IMPLEMENT yet
#Pragma Error "This Event NOT IMPLEMENT yet"

とエラーが起こって注意してくれます。

同じような物にWarningがありますが、こちらは警告を発するだけなので、
Project -> Analyze xxxx等の操作が無いと目立つ事がありませんが
必ず付けるようにすると、Analyzeで浮かび上がってくるので安心です。

Pragma Unused

これはメソッド/関数の引数やローカル変数を使用しないと宣言して、Analyze時の
レポートを削減します。

変数ごとに1行が必要です。

Canvas.Paint( g As Graphics, areas() As Rect )
#Pragma Unused areas

ローカル変数にも使用する事が出来ますが、注意が必要です。

ローカル変数は宣言済みの物に限ります。

Var i, theContainCount, j As Integer
#Pragma Unused theContainCount

比較的大きなプロジェクトではレポートも結構な量が書き出されます。
引数に関しては積極的に使っていますが、ローカル変数は使わない方が賢明です。

でわでわ
Happy Programming with Xojo.

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?