4Dにおけるホストプロジェクトとコンポーネントの横断検索

Deeplからの自動翻訳

大規模な4Dアプリケーションを開発する際、機能をホストプロジェクトと複数のコンポーネントに分割するのが一般的です。このモジュール型アーキテクチャは構造を明確にし、整理や保守を容易にしますが、一方で課題も生じます。メソッドがどこで使用されているかを特定することが困難になるのです。

4D 21以降、このワークフローをさらに円滑にする大きな改善が加えられました:コンテキストを切り替えることなく、ホストプロジェクトから直接コンポーネントのソースコードを編集できるようになったのです。さらに4D 21 R2では、「デザイン内検索」ダイアログが強化され、ホストプロジェクト内だけでなく、プロジェクトモードで作成されソースコードが利用可能なすべてのアクセス可能なコンポーネントを横断して検索できるようになりました。

ホストプロジェクトとそのコンポーネント内を検索

最も重要な改善点は、ホストプロジェクト内だけでなく、アクセス可能な全てのコンポーネント内でも検索を実行できるようになったことです。

検索対象を以下から選択可能:

  • ホストプロジェクトのみ

  • 1つのコンポーネント

  • ホストプロジェクトとアクセス可能なすべてのコンポーネント

検索結果

コンポーネントからの各結果には、括弧内にコンポーネント名が表示されるようになりました。ツールチップも改善され、結果行にカーソルを合わせると、ツールチップにコンポーネント名が表示されます。

blank

検索結果のエクスポート

多くのユーザーが監査、ドキュメント生成、コードレビューのために検索結果を外部で処理したいと考えています。これをサポートするため、エクスポートされた検索結果では、各検索結果が属するプロジェクト名またはコンポーネント名が最初の列に表示されるようになりました:

{
	"type": "text",
	"in": "'My host project' and components",
	"operator": "contains",
	"what": "alert",
	"caseSensitive": false,
	"searchInForms": true,
	"searchInMethods": true
}

DateTimeComponent	class	[class]/Class8	method	ALERT("function test")	2
Mycomponent	projectMethod	MyComponentMethod	method	ALERT("Hello")	1
Mycomponent	class	[class]/MyComponentClass	method	Function alert($myAlert : Text)	1
Mycomponent	class	[class]/MyComponentClass	method	ALERT($myAlert)	2

まとめ

これらの進化により、特にコンポーネントを基盤としたモジュール型アーキテクチャにおいて、コード探索、リファクタリング、保守性が大幅に向上します。マルチプロジェクト環境で作業する場合、これらの改善により時間を節約し、エラーを減らし、アプリケーションの構造をより明確に把握できるようになります。

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。