合理化されたメソッドの引数宣言

効率的なコーディング・プラクティスを追求するため、4D デベロッパーは一般的にコンパイルパスの設定をおこない、シンタックスや型チェックを強化することで、コンパイルモードでのコード実行時のエラーを最小限に抑えています。そこで、 #DECLARE メソッドプロトタイプを使用することで、どのように時間の節約に繋がり、コードの安全性が向上するかを見てみましょう。

通常、’ローカル変数のみ自動定義させる’ や ‘自動変数定義は行わない’ といったコンパイルパス設定を選択する場合、4D デベロッパーは ‘compiler_’ メソッド内で 2回目のメソッド引数の宣言をする必要がありました。

しかし、4D 20 R4 より、この追加のステップは過去のものとなります。#DECLARE メソッドプロトタイプで宣言された引数は‘compiler_’ メソッドでの宣言をする必要がなくなりました。

#DECLARE プロトタイプでメソッド引数を宣言することで、クラス関数と同じメリットが得られます。これにより、従来のメソッド引数の宣言方法は非推奨となります。

この機能強化の利点は、既存のコードが影響を受けないことです。compiler_’ メソッドで宣言された引数は、引き続き認識されます。’compiler_’ メソッドとメソッドプロトタイプの両方で引数が宣言されていても、型が一致していればエラーにはなりません。型が異なる場合にはエラーとなるため、コードの安全性が向上します。

プロトタイプで宣言されたメソッド引数は、’compiler_’ メソッドにおける 2回目の宣言を必要としなくなったため、コンパイラーダイアログの ‘型宣言を生成’ アクションは、プロトタイプ外で宣言された引数のみを追加します。

メソッドプロトタイプの使用へのスムーズな移行を促進するために、最新のアップデートでは 2つのケースで警告が表示されるようになりました:

  • メソッドの本文とプロトタイプの両方で引数が宣言されている場合。
  • プロトタイプで宣言されているより多くの引数でメソッドが呼び出されている場合。

 

この機能により、時間が節約されるだけでなく、コンパイルモードでのランタイムエラーを未然に防ぐことで、コードの品質を向上させます。

Avatar
- プロダクトオーナー - Damien Fuzeauは、2019年2月に4D Productチームに参加しました。プロダクトオーナーとして、ユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換することを担当しています。また、実装された機能が顧客のニーズを満たしているかどうかを確認することも彼の役割です。ナント大学のソフトウェア工学科を卒業。前職の会社では最初は開発者として(1997年に4Dを発見)、後にエンジニアリングマネージャーとソフトウェアアーキテクトとして、23年以上勤務しました。この会社は、4DのOEMパートナーであり、現在は数千のユーザーと数百のサーバーに向けて4Dベースのビジネスソフトを展開しています。ですから、Damienは、多言語環境での4D開発・導入に慣れています。