問題タブ [rules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
1034 参照

user-interface - ルールシステムを設計するための良い参考文献/ヒントはありますか?

ユーザーが編集可能なある種のルール システムを実装する必要があることがよくあります。一般に、要件は十分に異なるため、同じシステムを直接適用することはできません。そのため、同じ問題に頻繁に遭遇します。ルール システムをどのように設計すればよいかということです。それ

  1. 維持可能です
  2. 表現力と使いやすさの適切なバランス
  3. 簡単に拡張できます((2)が間違っている場合)。

ルール システム/DSL は非常に価値があると思いますが、それらを適切に設計する能力に自信がありません。

これを簡単にするのに役立つ参考資料やヒントは何ですか?
私が遭遇する問題の性質上、既存の言語は通常適用できません。(たとえば、一般的なコンピューター ユーザーがメール フィルターを作成するために Python を学習する必要はありません。) 同様に、一部の (より単純な) ユーザー インターフェイスを構築する必要があるため、JESSなどのルール言語は部分的なソリューションにすぎません。 -ルール言語の最上位にあるため、プログラマー以外でも使用できます。このインターフェイスでは、必ず一部の機能を削除したり、それらの機能をより使いにくくしたりする必要があり、そのプロセスは上記と同じ問題を引き起こします。

編集:明確にするために、質問はルールエンジンの設計に関するものであり、事前に構築されたルールエンジンを探しているわけではありません。ルール エンジンを提案する場合は、それが適切な設計上の決定を下すことに関する質問にどのように対処するかを説明してください。

0 投票する
1 に答える
1122 参照

vba - 右クリックして、送信者の電子メールをOutlook2007のメッセージヘッダールールに動的に追加します

Outlook 2007のVBAコードで、任意のメールビューでメッセージを右クリックし、追加するルールを選択して、送信者の電子メールをそのルールの値を含むメッセージヘッダーに追加するようにしたいと思います。

特定のルールのみがメッセージヘッダーを基準として使用するため、メッセージを右クリックすると、該当するルールのみが表示されます。

0 投票する
3 に答える
1573 参照

workflow - ワークフロー RuleSetDialog

Windows アプリケーションで RuleSetDialog クラスとホストを何らかの方法で拡張できますか?

0 投票する
5 に答える
1057 参照

code-analysis - FxCop のどのルールを無効にしますか?

個人的にはまだ FxCop を使用していません。コード分​​析に進む前に、まず単体テストを実行したいと考えています。ただし、永久に無効にするルールはどれですか? どのルールを一時的に無効にするか、またどのような状況で無効にしますか?

0 投票する
6 に答える
9742 参照

oop - OOP のルールはありますか?

最近、OOP(Java)には9つのルールがあると聞きました。私が知っているのは、抽象化、ポリモーフィズム、継承、カプセル化の 4 つだけです。OOP に関するその他のルールはありますか?

0 投票する
3 に答える
1019 参照

c# - どのように実装しますか?: C# のツリーに対する多くのルール

次のような C# コードを表すデータ構造があります。

...単純なレクサー/パーサーの組み合わせを使用して構築しています。ツリーをトラバースして、大量のルール セット (3000 以上) を適用する必要があります。ツリー内でさまざまな (そして非常に複雑な) パターンに遭遇すると、ルールが実行されます。たとえば、クラスが同じアセンブリ内のインターフェイスのみを実装する場合に実行されるルールがあります。

私の最初の素朴な実装は、各ルールを反復し、次に各ルールがツリーを走査して特定のパターンを探します。もちろん、ソースコードが少量であっても、これにはかなりの時間がかかります。

これは、大量のバイナリ コードの複雑なパターンを認識して、ウイルス対策ソフトウェアがどのように機能するかにたとえることができると思います。

この種のソフトウェアをどのように実装することをお勧めしますか?

EDT: 追加したい: いいえ、FxCop を再実装していません。

ありがとう

0 投票する
3 に答える
4067 参照

java - 無料 / オープンソース Java ルール / ワークフロー エンジン

Java ルール/ワークフロー エンジンを探しています。Microsoft Workflow Engine に似たもの。

誰かが製品を推薦できますか?

0 投票する
5 に答える
34844 参照

python - Python で「ルール エンジン」を実装する

Python でログ収集/分析アプリケーションを作成しています。ログ メッセージを照合して処理する「ルール エンジン」を作成する必要があります。

次の機能が必要です。

  • メッセージ自体の正規表現マッチング
  • メッセージの重大度/優先度の算術比較
  • ブール演算子

ルールの例はおそらく次のようなものになると思います。

PyParsingなどを使用して実際にルールを解析し、解析ツリーを構築することを考えています。

私が考えている現在の (まだ実装されていない) 設計は、ルールの種類ごとにクラスを持ち、解析ツリーに従ってそれらを構築し、連鎖させることです。次に、各ルールには、ルールに一致するかどうかに関係なくメッセージ オブジェクトを返す「matches」メソッドがあります。

非常に迅速に、次のようになります。

これらのルール クラスは、メッセージの解析ツリーに従って連鎖され、最上位のルールで match() メソッドが呼び出され、すべてのルールが評価されるまでカスケードされます。

これが合理的なアプローチなのか、それとも私のデザインやアイデアがまったくおかしくないのか疑問に思っています。残念ながら、私は大学でコンパイラ設計コースなどを受講する機会がなかったので、ほとんど自分の意思でこのようなことを考えています。

この種のことについてある程度の経験をお持ちの方は、アイデアを評価していただけませんか?

編集: これまでのところ、いくつかの良い答えがあります。ここで少し説明します。

このプログラムの目的は、ネットワーク上のサーバーからログ メッセージを収集し、データベースに保存することです。ログ メッセージの収集とは別に、コレクターは、条件に応じてメッセージを一致または無視し、必要に応じてアラートにフラグを立てる一連のルールを定義します。

中程度の複雑さを超えるルールは見当たりません。一致するアラートまたは無視ルールがヒットするまで、チェーン (リスト) に適用されます。ただし、この部分は質問とはあまり関係ありません。

構文が Python 構文に近い限り、それは本当ですが、ユーザーが意図しないルールでクレイジーなことをうっかり実行できなくなるまで Python をフィルタリングするのは難しいと思います。

0 投票する
3 に答える
671 参照

code-analysis - FxCop/StyleCop のクールなルールを作成した人はいますか?

インスピレーションを探しているだけです。特にパフォーマンスとセキュリティの分野では、命名規則は重要ですが、「かっこいい」ものではありません ;)

ルールがドメイン/プロジェクトにのみ適用され、ルールがどれほど強力であるかを示している場合でも、お知らせください。

私は C# を使用していますが、あらゆる言語のルールに興味があります。

0 投票する
2 に答える
1382 参照

workflow - 実行時の WF 検証エラー

正常にコンパイルされる 2 つのワークフロー基盤 (.NET 3.5 SP 1) アプリケーションがあります。2 つの宣言ルール条件が含まれています。どちらも非常に単純な例です:
- !this.Shutdown - this.Runtime == null

プロジェクトはエラーや警告なしで正しくビルドされますが、アプリケーションを実行すると次の例外で失敗します。error 1342: Activity 'whileNotShutdown' validation failed: Can not find the condition "Shutdown not requested".

他のアプリケーションでは、次の例外を生成するポリシーでより複雑なルールセットを使用しています。error 1398: Activity 'Defaults' validation failed: Can not find the rule set "Rule Set1". Check if rule set is defined in the rules file.

.rules ファイルを削除し、2 つのルールを再作成して再作成しようとしましたが、解決しませんでした。

問題は、このエラーの原因は何ですか?

私が試したいくつかのこと:

  • ワークフロー ルールをより大きなワークフローに配置しても、問題に違いはありません。
  • この問題は、現在、ソリューション内のすべてのワークフローに影響を与えています (以前は機能していたものも含む)。
  • Code Rule 条件を使用しても同じ問題は発生しません。この問題は何らかの形で規則ファイルに関連しています。
  • ワークフローの再構築は役に立たなかった