問題タブ [code-duplication]

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

sql - 冗長なSQLコードを削除する

コード

次のコードは、データのスラッサーに対する線形回帰の傾きと切片を計算します。次に、同じ結果セットに対して方程式を適用して、y = mx + b各行の回帰直線の値を計算します。

WHERE句を2回実行せずにデータとその傾き/切片を計算するために、2つのクエリをどのように結合できますか?

問題の一般的な形式は次のとおりです。

私はSOME_CONDITION2回実行しています。STRAIGHT_JOINこれを以下に示します(最適化で更新):

質問

重複ビットをクエリごとに2回ではなく、1回だけ実行するにはどうすればよいですか?重複コード:

アップデート1

変数を使用してクエリを分割すると、キャッシュが開始できるようになります。これは、以前は7秒で実行されていたのに対し、現在は3.5秒で実行されます。それでも、重複するコードを削除する方法があれば、ヘルプ。

アップデート2

上記のコードはJasperReportsでは実行されず、VIEWは修正可能ですが、おそらく非常に非効率的です(WHERE句がパラメーター化されているため)。

アップデート3

収束する子午線を使用したピタゴラス式のUnreasonの提案を使用した距離の検証:

(これは質問とは関係ありませんが、他の誰かが知りたい場合は...)

アップデート4

示されているように、コードはJasperReportsで機能し、MySQLデータベースに対して実行されます。JasperReportsは、変数または複数のクエリを許可しません。

アップデート5

きれいに実行されるソリューションを探しています。;-)部分的に機能するソリューションをいくつか作成しましたが、残念ながら、MySQLは部分的に正しいことを理解していません。ほぼ機能する回答については、Unreasonとのディスカッションを参照してください。

アップデート6

WHERE最初の句の変数を再利用して2番目の句と比較できるかもしれませんが(これにより重複がなくなり、値に対するチェックが行われ$P{}ます)、重複をなくしたいと思います。

アップデート7

YEAR以前の更新で仮定されたように、重複を排除するために句を比較することBETWEENは機能しません。

関連している

SQLで重複する計算を排除するにはどうすればよいですか?

ありがとうございました!

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

python - 行列の行を操作してから列を操作すると、コードが重複します

同じ値を含む行または列があるかどうかを確認するために、次の(Python)コードがあります。

明らかに、ここには多くのコードの重複があります。このコードをリファクタリングするにはどうすればよいですか?

ありがとう!

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

refactoring - JSpecを使用したBDD/TDD-コードの重複を削除

この仕様でコードの重複を削除するためにリファクタリングするにはどうすればよいですか?

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

c# - このコードをクリーンアップして重複を削除するにはどうすればよいですか?

私はいくつかの重複がある次のコードを持っています

同様のパターンでさらにいくつか似ています。重複を避けるためにこれをリファクタリングする最良の方法は何ですか

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

c# - 同じクラスを使用する多くのWeb参照

サードパーティ製品への多くのWeb参照があるC#プロジェクトがあります。これらのWebサービス呼び出しはすべて、「ユーザーコンテキスト」クラスを使用します。したがって、各Webサービスはまったく同じXMLスニペットを受け入れます。

現在、さまざまなWebサービス呼び出しをすべてヒットするため、これらの「ユーザーコンテキスト」オブジェクトの多くを保持する必要があります。生成された「ユーザーコンテキスト」クラスはまったく同じですが、異なる.NET名前空間に配置されます(XML名前空間は同じです)。

これらのインスタンスの1つだけを渡すことができるようにしたいと思います。どうすればそれができますか?

Visual Studio 2010を使用しており、WebReferenceを追加して生成されたクラスを使用しています。私は他のフレームワークやメカニズムを使用することに反対していません。自分のコードをローリングすることも考えていましたが、使用する必要のあるWebサービスはたくさんあります(それぞれに多くのWebメソッドがあります)。

更新:最初はWeb参照を追加してこれらを追加しましたが、今後はサービス参照として追加します。Webサービス自体はInterSystemsCachéを通じて公開されており、WS-Iにどの程度準拠しているかについては調べていません。

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

actionscript-3 - Flash、ActionScript 3:get / setプロパティを使用して他のクラスから値を取得すると、多くの重複コードが作成されますが、異なる場合がありますか?`

他のクラスの値を編集するためにas3コードでgetとsetterを使用しています(これらの変数は共有されているため)変数を変更するたびにstage.sharedVar.isScrabbleをコードに入れたくないので、get/set関数を使用しました

下記参照

ご覧のとおり、「returnstage.sharedVar」のたびに重複するコードがたくさんあります。そして、「stage.sharedVar。」+値+「=val」は常に戻ってきます。

これらのget/setを作成する他の方法があるのだろうかと思っていましたか?何かのようなもの?:

等々??

ありがとう、マシー

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

dll - DLL をいつ実装するかを決定する方法

サブルーチンと共通コードの一部をクラス ライブラリまたは DLL に配置する必要があると判断したのはどの時点ですか? 私のアプリケーションの 1 つで、異なるプロジェクト間で共通のコードの一部を共有したいと考えています (ご存知のように、コードを複製することはプログラミングの罪です)。

私のコードの大部分は、すべて 1 つのプロジェクト内にあります。また、メインの実行可能ファイルから分割された小さなユーティリティも 1 つあります。このユーティリティは、専用の目的で昇格されたアクセス許可で実行されます。2 つの項目には、最大で 3 つのサブルーチンが共通しています。これらの共通サブルーチンを配置して、クラス ライブラリから呼び出す必要がありますか? これをいつ行うかをどのように決定しますか?少なくとも 1 つの共有サブルーチンがある場合は? 20行以上のコード?

これが言語固有またはフレームワーク依存であるべきだとは思いませんが、そうであれば、.NET フレームワークを使用しています。

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

language-agnostic - この例でコードの重複を減らす方法

番号(xx)をループする必要があります。xxは常にゼロから始まります。私の問題は、moveDirection変数が+1の場合、正の値に達するまでxxが増加することですrange。が-1の場合moveDirection、xxはの負の値に達するまで減少しrangeます。

以下のコードでは、最初にmoveDirectionのifステートメントテストを実行してこれを実行し、次にforループを複製して、それぞれの場合の値を編集しました。私のコードはたまたまActionScript3にありますが、言語は関係ありません。

forループを複製せずに、これを行うためのより良い方法はありますか?他にアドバイスがありましたら、よろしくお願いします。

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

jsf - JSF と JPA でモデル コードの重複を回避する方法

私は JSF に不慣れで、物事が正しいかどうか疑問に思っています。ページを作成できる単純な CMS があるとします。

まず、Page という JPA エンティティを定義します。

次に、ビューで Page-s を作成したいと思います。そのためには、ある種のページ Bean が必要なようです。今のところ、次のようなことを処理しました。

私の質問は次のとおりです。JPAエンティティモデルとビューで使用したいモデルがほとんどの場合まったく同じであることを考えると、 PageBean?

JPAエンティティおよびJSFモデルBeanと同じBeanを使用しないでください(JSFはJPAに影響を与える可能性のあるゲッターを繰り返し呼び出すため)をどこかで読みましたが、この種の回避に役立つより簡単な方法がないかどうか疑問に思いますコードの複製。特に、大規模なモデルを持つアプリケーションを持っていて、多くの場合、ビュー Bean に特別なものを必要としない場合、これは非常に面倒になる可能性があります。

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

postgresql - 次の PostgreSQL クエリでコードの重複を解決するにはどうすればよいですか?

テーブル Inputs と派生テーブル Parameters があります

次のクエリは、パラメーターが変更されているかどうか、またはまだ存在しないかどうかを確認し、パラメーターに新しい値を挿入します。

2 つの MyParameter サブクエリの重複を解決するにはどうすればよいですか?

このようなクエリのクリーンアップに関するその他のヒント