問題タブ [table-driven]
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.
state - テーブル駆動型のアプローチでステート テーブルの実装を理解するのに苦労している
私は元々、通常の switch および case メソッドを使用してCで 4 ステート ステート テーブルを実装する作業を行っていましたが、最近、テーブル駆動型プログラミングを使用してそれをより簡単に作成することに出くわしました。
それを調査した後、私はまだそれがどのように機能するかについて混乱していることに気づきました.
テーブル駆動型プログラミングは状態テーブルの実装でどのように機能しますか?
java - テーブル駆動の依存関係
テーブル駆動の方法論に依存するようにアプリケーションを書き直しています。候補アプリケーションは、条件ロジックを通じてイベントを処理します。書き換えにより、ハードコーディングされたイベントの依存関係が削除され、各イベントの特定の詳細のブール選択用に列が構成されているデータベース テーブルを介した意思決定が優先されます。
この実装に関する私の懸念は、振る舞いの狂気です。以前は条件付きロジックに依存していた機能を直接呼び出すために、多くのメソッドを作成する必要がある場合があります。それらは数が多い可能性があり、回避したいのは次の状況です。
- 多くの小さなヘルパーを持つ大規模なプライマリ関数
- ヘルパーの数が少ない、より小さく分離された関数
- 数に関係なく必要なだけの機能
この実装では、テーブルの方法論は硬直的で柔軟性がありません。メソッド設計への段階的なアプローチは考慮事項であり、書き直しは合計で約 200 程度のイベントを処理しています。
私の実装に基づくメソッドの数に懸念はありますか? テーブルをメモリに読み込み、イベントを処理するつもりです。私はこれに精通しており、実装が適切なコーディング標準とガイドラインに準拠していることを確認したいと考えています。
unit-testing - c *gin.Context のパラメータを持つ関数の場合のテストケースの書き方
私のプロジェクトのコントローラのテストケースをgolangで書いています。コントローラーにはSaveProvider()
パラメーターを持つ関数名がc *gin.Context
あり、このパラメーターに JSON を渡す方法がわかりませんc *gin.Context
。コントローラーで使用されている関数をテストする方法は誰にもわかりません。このコードの問題は何ですか。テーブル駆動テストとも呼ばれます。
コントローラーの機能は次のとおりです。