ビジネスルールのグラフィカル言語は良い考えではありません。私はそれを避けたいと思います。ビジネスルールには多くのifチェックとループがあり、それはうまく視覚化されません。
ビジネスルールを説明するためのテキスト言語を使用する方がはるかに優れています。
コードを編集するための驚異的なユーザーエクスペリエンスを得るには、次のものが必要です。
- エラー回復が良好なパーサー
- 増分再コンパイルを実行する機能
優れたエラー回復により、構文的に不完全な構成からプログラマーの意図を効果的に判断できます。これは、インテリジェンスを実装するために重要です。
インクリメンタル再コンパイルを実行する機能により、ユーザーの編集に応じて効率的なバックグラウンドコンパイルを実行できます。
優れたエラー回復を実現する最も簡単な方法は、パーサーを手動で作成することです。そうすれば、構文エラーが存在する場合に何をすべきかを理解するために、任意の量の先読みまたはアルゴリズム規則を使用できます。
パーサジェネレータを使用してパーサを作成すると、構文エラーを処理する際の柔軟性が大幅に低下します。その柔軟性は、優れたインテリジェンス体験と安っぽい体験の違いを生み出します。したがって、再帰下降を使用して手書きで記述することをお勧めします。
効率的な再コンパイルを実装するには、次のことができる必要があります。1)セマンティック分析をフェーズに適切に分割する(C#のようなものの場合、最初に名前空間とタイプシンボルを作成し、次にステートメントを使用して解決し、次に基本クラスを解決するなど)。2)位相認識依存関係グラフを作成する機能3)依存関係グラフを処理し、ユーザーの編集に応じてその一部を無効化するためのアルゴリズム
本格的なプログラミング言語の場合、再コンパイルの実装は非常に難しい場合があります。あなたの場合、あなたはビジネスルールを記述しているので、それはあなたにとって非常に単純かもしれません(またはコンパイルが十分に速いならあなたはそれを必要としないかもしれません)。
それで、私はパーサーから始めて、それからその上にインテリジェンスを構築します。
VS統合を回避できれば、私はそうします。VSに統合するには、多くの配管が必要であり、相互運用により頭痛が発生する可能性があります。パーサーを接続するWindowsフォームエディターコントロールを販売している会社がいくつかあります。これは、VSよりもはるかに簡単に統合できます。