オブジェクトチェック構文による生産性の向上

Deeplからの自動翻訳

4D v18 R4から、クラスのオートコンプリートが利用できるようになりました。この機能により、コードを書くのが簡単になり、例えば関数名でのエラーを制限することができます。しかし、完全に回避できるわけではありません。2文字を逆にしたり、大文字を忘れたりすることは簡単で、コードが動作しない理由を探すのに時間がかかってしまいます。

そこで、4Dにクラスや関数がすでに存在するかどうかをチェックさせるより良い方法があるでしょうか?

4D v19 R4 からは、存在しない関数を呼び出すと、コードエディタに警告が表示されるようになりました。

チェックされる内容

クラスを宣言するとき、またはインスタンス化するときに、クラス名がチェックされます。また、4Dクラス、ユーザークラス、ユーザーORDAクラスでは、関数名が検証されます。

で、どこが?

コードエディター

コードを書くときに、スペルを間違えたり、間違った関数を使ったりすると、その行の左側に警告が表示されます。

コンパイラウインドウ

他の 4D の警告と同様に、警告はコンパイラウインドウに表示されます。

blank

プロジェクトをコンパイルするコマンド

v19 以降、Compile project コマンドのおかげで、プログラミングによる「シンタックスチェック」を実行することができます。このコマンドによって返されるステータスオブジェクトには、すべての警告が含まれています。

var$options;$status:Object
$options :=New object()
$options .targets:=New collection()
$status :=Compile project($options)

以下は、$statusオブジェクトの内容です。

{
  "success": true,
  "errors": [
    {..}, {
    "message": "The function or property orderby is incompatible with the type driversSelection. (550.2)",
    "isError": false,
    "code": {
      "type": "projectMethod",
      "methodName": "Method2",
      "path": "Method2",
      "file": "[object File]"
    },
    "line": 6,
    "lineInFile": 7
  }]
}

そして…

4Dフォーラムにお気軽にコメントください。

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。