問題タブ [dry]

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 投票する
3 に答える
7694 参照

ruby-on-rails - モデル、コントローラー、ビューにまたがるRailsミックスインを作成する方法

私の小さなRailsアプリでのコードの重複を減らすために、モデル間で共通のコードを独自の個別のモジュールに組み込むことに取り組んできました。

モデルの内容はかなり簡単です。最初にモジュールを含める必要があります。例:

これは正常に機能していますが、これらのモデル間でも共通になるコントローラーとビューコードをいくつか用意します。これまでのところ、送信可能なものにこれを使用しています。

基本的に、コントローラーとビューに対してインクルードSendable::ControllerとSendable::View(または同等のもの)を実行することを計画していますが、これを行うためのよりクリーンな方法はありますか?私は、モデル、コントローラー、ビューの間にたくさんの共通コードを配置するためのきちんとした方法を求めています。

編集:明確にするために、これは2つまたは3つのモデル間で共有する必要があります。

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

dry - プロジェクトや言語間で同じことを繰り返さない方法

私は、異なるプログラミング言語でいくつかの異なるが関連するプロジェクトに取り組んでいます。これらのプロジェクトのいくつかは、他のプロジェクトによって書かれたファイル名を解析する必要があり、特定のファイル名パターンを想定しています。

このパターンは現在、いくつかの場所といくつかの言語でハードコーディングされており、保守爆弾になっています。特定のプロジェクトでこのパターンを 1 回だけ定義するのはかなり簡単ですが、すべてのプロジェクトと使用中のすべての言語に対して、このパターンを 1 回だけ定義する手法は何ですか?

0 投票する
11 に答える
24570 参照

unit-testing - 重複したコードは単体テストでより許容されますか?

少し前にいくつかの単体テストを台無しにして、それらをよりDRYにするためにリファクタリングしました。各テストの意図はもはや明確ではありませんでした。テストの可読性と保守性の間にはトレードオフがあるようです。重複したコードを単体テストに残しておくと、読みやすくなりますが、SUTを変更すると、重複したコードの各コピーを追跡して変更する必要があります。

このトレードオフが存在することに同意しますか? もしそうなら、あなたのテストが読みやすいものであること、または保守可能であることのどちらを好みますか?

0 投票する
8 に答える
4536 参照

asp.net - ASP.NET MVC の DRY 原則は実際にはどのようなものですか?

DRY 原則と、ASP.NET MVC での DRY 原則の重要性についてよく耳にしますが、Google で調査を行っても、DRY 原則が MVC にどのように適用されるかを正確に理解していないようです。

私が読んだことから、実際にはコピー&ペーストコードの匂いではないと思っていましたが、それ以上のものです。

ASP.NET MVC アプリケーションで DRY 原則をどのように使用するかについて、洞察を与えることができる人はいますか?

0 投票する
4 に答える
119965 参照

c - How to make a char string from a C macro's value?

For example, how to avoid writing the 'func_name' twice?

I'd like to follow the Single Point of Truth rule.

Version of C preprocessor:

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

javascript - JavaScriptでグローバル変数のリストに値を割り当てる

ちょっと今私はjQueryを使用していて、プリロードされたajaxのものを少し保持するためのいくつかのグローバル変数があります(ページを素晴らしく速く表示するためにプリロードされています):

ご覧のとおり、DRYの原則に大きく違反していますが、それを修正する方法がわかりません...何かアイデアはありますか?

多分配列?

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

mysql - ActiveRecord アソシエーションを DRY に保つ方法は?

アプリケーションで AR ファインダーを DRY に保つことに問題があります。ユーザーが最初にブログを表示したときに、ブログに関連するすべてのページ、投稿、リンク、タグ、およびカテゴリを取得するブログ アプリケーションを作成しました。ブログ コントローラの show アクションの例を以下に示します。

お分かりのように、コントローラーのさらに @tags などの同じインスタンス変数を呼び出す他のアクションがあるため、あまり DRY ではありません。

これをもっとDRYにするにはどうすればよいですか?ブログ モデルに移動しようとしましたが、コントローラーで @tags などのさまざまなインスタンス変数を呼び出す必要があります。

ブログが最初に呼び出されたときにこれらすべての変数を保存し、コントローラーとアクションで再利用する方法はありますか?

アドバイスありがとうございます。Rails 2.1を使用しています

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

language-agnostic - 言語間で構成情報やビジネス ルールを共有する方法

同じデータを別の場所で繰り返し使用せずに使用するためのベスト プラクティスを探しています。これには、構成またはビジネス ルールが含まれる可能性があります。

例 1. JavaScript を使用してクライアントで検証したいが、サーバーで検証して確認したいデータ検証ルール。

例 2. Web サーバーと cron ジョブが同じパスワード、ユーザー名を使用するデータベース アクセス。

処理の容易さと人間が判読できるソリューションはプラスになります。

0 投票する
8 に答える
769 参照

.net - ストアドプロシージャをC#.NETでDRYに保つ方法は?

DBへのすべてのクエリにストアドプロシージャを使用しています。これは信じられないほど乾燥していないようです

  1. テーブルをデザインする
  2. そのテーブルのCRUD操作SPを設計する
  3. パラメータを入力してCRUDSPを実行するためのコード(できればクラス)を設計する

単一の列を追加したり、データ型を変更したりする場合は、.NET内のクラスで、テーブル、少数のSP、および少数の関数を編集する必要があります。

この重複を減らすためのヒントは何ですか?

アップデート:

ヴィンコのアイデアと組み合わせて、これを見つけまし。これが必要な人のために私が思いついた(C#の)コードです:

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

flash - actionscript (as3) 用に書き出すときに、Flash CS3 で基本クラスを指定する必要があるのはなぜですか?

ライブラリで、ActionScript クラスを記述したムービークリップを右クリックし、[リンケージ...] を選択します。「基本クラス」フィールドが空ではないことに注意してください (空になることはできません)。である可能性が高いflash.display.MovieClipですが、クラスの継承元によっては、別のものになる可能性があります。この基本クラス フィールドは、ActionScript 3 用にパブリッシュする場合にのみ必要です。

では、なぜ Flash CS3 が ActionScript ファイルリンケージ ダイアログの両方で基本クラスを提供することを要求するのか、誰か教えていただけないでしょうか? 2 つの場所で基本クラスが異なる場合でも、エラーなしで公開でき、[リンケージ] ダイアログは (有効である限り) 無視されるように見えます。

Base class フィールドのポイントは何ですか!?