プロジェクトのソースコードをトークンなしで保存

Deeplからの自動翻訳

コマンド、定数、テーブル、フィールドは、プロジェクトのソースコード・ファイル(4dmファイル)にトークンと共に保存されます。これによって、4Dは自動的にそれらの名前を変更することができます。しかし、バージョン管理システムや外部のコードエディタで読みやすくするため、あるいはプロジェクト間でコードを共有するために、これらのソースコード・ファイルをトークンなしで保存したい場合があります。4Dがこれらのトークンを使わずにソースコードを保存する方法を見てみましょう。

トークンとは何ですか?

このシステムにより、4D は、レガシー言語のコマンド、定数、テーブル、フィールドが改名されていても、自動的に認識することができます。
コマンド名は”:C “とコマンドID、定数は”:K “と定数ID、テーブルは”: “とテーブルID、フィールドは”: “とフィールドIDの後に続きます。

メソッドエディタでソースコードを開くと、4Dは自動的にトークンに従って要素の名前を変更します。これらのトークンは、メソッドエディタでは4Dによって隠されていますが、外部のソースコードエディタを使用する場合は、表示されます。
外部のソースコードエディターやバージョン管理システムでは、これらのトークンのためにソースコードを読むことが難しくなる場合があります。

トークンを含むメソッドのサンプル

どうすれば無効にできますか?

読みやすくするために、4Dはトークンなしでソースコード・ファイルを保存する可能性を提供するようになりました。
新しいプロジェクトで、トークンなしでソースコードファイルを書くために、新しい4D preferenceを自由に使うことができます。
blank
デフォルトでは、このオプションは有効になっており、変更はありません:あなたのソースコードは、まだトークンで保存されています。しかし、このオプションを無効にすると、新しいプロジェクトのソースコード・ファイルはトークンなしで保存されるようになります。

トークンなしの同じメソッドのサンプル。
blank

既存のプロジェクトはどうなるのでしょうか?

トークン化4D環境設定を無効にすると、新しいプロジェクトの4DProjectファイルには、「tokenizedText」という名前のブール型属性が*false*に設定されています。
技術的には、この属性を既存のプロジェクトの4DProjectファイルに追加することができますが、4Dメソッド・エディターで修正するか、または、コマンドを使用して再保存するまで、既存のソースコード・ファイルのトークンは削除されません。 METHOD SET CODEコマンドを使用して保存されるまで、既存のソースコード・ファイル内のトークンは削除されません。なお、この属性は、4D v19 LTSから使用可能です。

どのように機能するのでしょうか?

あるプロジェクトで、フランス語を使用して開発しても、4DM ファイルにすべてのソースコードが英語で保存されていることをご存知でしょう。
4Dメソッドエディターが4DMファイルを開くとき、まず、トークンが考慮されます。そして、コマンド、定数、テーブル、フィールドは、そのテキストによって認識されます(フランス語で開発している場合は、翻訳されます)。ですから、ソースコードがトークンなしで保存されていても、4Dメソッドエディタでは、通常通り編集が可能です

ただ、トークン化を無効にすると、他の開発プラットフォームと同じように、レガシー言語でのコマンド/コンスタント/テーブル/フィールドのリネームを自分で行う必要があることを忘れないでください。

フレームワークプロジェクト

他のプロジェクトと共有するフレームワークプロジェクトを開発する場合、レガシーコードのテーブルやフィールドに関する問題に遭遇する可能性があります。同じIDを持たないテーブルが含まれている場合、フレームワークからプロジェクトにファイルをコピーすることに限定することはできません。たとえば、フレームワークの [Setting] テーブルは #1 であっても、ターゲットプロジェクトでは #3 になっているかもしれません。もし、フレームワークからコピーされたソースコードにトークンが含まれていれば、4Dは[Setting]テーブルをターゲットプロジェクトの1番のIDを持つものに置き換えます!

ソースコードの共有を容易にするために、フレームワークのプロジェクトでは、トークンの保存を無効にすることができます。そうすれば、ターゲットプロジェクトでフレームワークのファイルをコピーした後、[Setting]テーブルをその名前で認識し、その(間違っている可能性のある)IDでは認識しなくなります!

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