問題タブ [redundancy]
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.
php - 冗長なユーザー関数を見つける
多くのファイルに大量の関数が含まれているアプリのプロファイリングを行っており、呼び出されない関数を分離しようとしています。
続行する前に何かアイデアはありますか?
language-agnostic - メイン エンティティ テーブルに 25 列以上あるが、1 つのエンティティの列が平均で 20% 未満になるデータベースを設計する方法は?
格納されるエンティティには、25 以上のプロパティ (テーブルの列) があります。エンティティはかなり多様です。つまり、ほとんどの列は空です。平均して、20% 未満 (<5) のプロパティが特定のアイテムに価値を持っていると言えます。そのため、ほとんどのテーブル行に冗長な空の列がたくさんあります。ほぼすべての列が 10 進数です。
このシナリオを考えると、代わりに列をシリアル化することをお勧めしますか、それとも、可能なすべてのプロパティを含む「Property」という名前の別のテーブルを作成してから、外部キーを使用してプロパティをエンティティにマップするさらに別のテーブル「EntityProperty」を作成することをお勧めしますか? ? それともそのままにしておきますか?
この種の冗長性が発生するシナリオの例は次のとおりです。
私たちはたくさんの惑星がある架空の宇宙を持っています。私たちは宇宙採掘ゲームを作成しており、各惑星には 30 種類の鉱物が含まれています。ほとんどの惑星には 2 ~ 3 個の鉱物しかありません。
最も簡単な解決策は、鉱物ごとに 1 つずつ、30 の列を持つ単一のテーブル 'Planets' を作成することです。ここでの問題は、「Planets」テーブルのほとんどの行に 25 以上の列があり、それぞれの値が null またはゼロであることです。したがって、多くの冗長データがあります。たとえば、500k-1M のレコードがあるとします。nullまたはゼロの10進値を保存するには、最大で1バイトかかると思います。したがって、500,000〜1,000,000バイトのスペースを無駄にします。せいぜい1メガバイト。
もう 1 つの解決策は、2 つの追加のテーブルを作成することです。「Planets」テーブルにすべてのミネラルを格納する代わりに、それらをすべて取り出して、「Minerals」と呼ばれるミネラルのテーブルを作成します。これには、異なる鉱物の種類ごとに 1 つずつ、30 行のみが含まれます。次に、惑星の行と鉱物の行への参照を含む「PlanetMineral」というテーブルを作成します。さらに、このテーブルには、惑星が持つ鉱物の量を示す列があります。明らかに、多くのデータベース システムでは、複数の結合を実行する必要があるため、クエリが複雑になります。私はLINQ to SQLでSQLサーバーを使用しています。これは、コードからアクセスできるクラスオブジェクトプロパティに外部キー制約を足場にします。(つまり、planet.Minerals を使用して、惑星が持っているミネラルに簡単にアクセスできます) したがって、この観点からは、そうではありません。複雑さを加える必要はありません。冗長性は、最初のソリューションのごく一部 (1/15 など) です。まだいくらかのオーバーヘッドがある理由は、保存する必要がある外部キーのためです。
データ クエリの効率に関しては、クエリのコストがこれら 2 つのソリューション間でどのように比較されるかはわかりません。
iphone - Iphone dev に含まれる PHP と同等ですか?
プロジェクト内で、あるクラスから別のクラス (メニューやボタンなど) に多くの冗長なコードを取得していることに気付きました;)
それを最適化する方法はありますか?
ありがとうございました !
ゴテ。
java - コンストラクターの先頭に super() 呼び出しを配置しますか?
これは、コーディング スタイルと推奨される方法に関する質問です。
質問への回答で説明したように、コンストラクターに super() を配置する必要はありませんか? スーパークラスのデフォルト (引数なし) コンストラクターを使用するクラスのコンストラクターを作成する場合は、コンストラクsuper()
ターの先頭で次のように呼び出すことができます。
ただし、呼び出しを省略することもできます。どちらの場合でも、コンパイラは super() 呼び出しがあったかのように動作します。
それでは、呼び出しをコンストラクターに入れますか?
一方では、 を含めるsuper()
と物事がより明確になると主張する人もいるかもしれません。OTOH、私はいつも冗長なコードを書くのが嫌いなので、個人的には省略しがちです。ただし、他の人のコードで定期的に見ています。
あなたの経験は何ですか?どちらかのアプローチで問題がありましたか? 1 つのアプローチを規定するコーディング ガイドラインはありますか?
ところで:関連する質問(参考までに):
embedded - 時間的冗長性を含む3つの個別のjpeg写真を圧縮しますか?
組み込みデバイスを、トリガーするたびに1つのjpeg圧縮フレームを返すカメラモジュールとインターフェイスしています。
3枚連続で撮影し(1/4秒あたり約1フレーム)、さらに画像を1つのファイルに圧縮したいと思います。ここでの前提は、時間的な冗長性が多く、したがって3つのフレーム間でさらに圧縮する余地がたくさんあることです(3つの別々のjpeg画像を送信する場合と比較して)。
ライブラリやOSを使用せずに、Cの組み込みデバイスにソリューションを実装します。
カメラは動きの少ない場所(背景に訪問者やスクリーンがない、枝が揺れる木など)で写真を撮るので、冗長性についての私の仮定はかなりしっかりしていると思います。
ファイルが最終的にpc/macで表示されるとき、3つのフレームを抽出するために何かを書く必要があることを気にしません(したがって、それは非標準のクルージである可能性があります)
したがって、実際の質問は次のとおりです。これらの3つの画像がすでにJPEG形式になっていることを考えると、これらの3つの画像を一緒に圧縮する最良の方法は何ですか(生の画像に戻すこともできますが、そうでない場合も同様です)。 。)
mysql - Mysql を最適化して冗長性を回避しつつ、計算可能なデータへの高速アクセスを維持する
質問のための例: ユーザー、質問、および回答を含むデータベースがあります。各ユーザーには、質問と回答の表のデータを使用して計算できるスコアがあります。したがって、users テーブルにスコア フィールドがあると、冗長になります。ただし、スコア フィールドを使用しない場合、毎回スコアを計算すると、Web サイトの速度が大幅に低下します。
私の現在の解決策は、それをスコアフィールドに入れ、数時間ごとにcronを実行して、全員のスコアを再計算し、フィールドを更新することです。
これを処理するより良い方法はありますか?
python - while ループ内の小さなコードの冗長性 (きれいに感じられない)
したがって、Python では (多くの言語に適用できると思いますが)、次のようなことがよくあります。
the_input = raw_input("what to print?\n")
うるさいのかもしれませんが、行が繰り返される方法が好きではありません。保守性と組織が低下します。しかし、問題をさらに悪化させずに重複コードを回避するための回避策は見当たりません。一部の言語では、次のように記述できます。
これは間違いなくPythonicではなく、Pythonはループ条件内での割り当てさえ許可していません。
この有効なコードは冗長性を修正します。
しかし、どちらかというと気分が良くありません。はwhile 1
、このループが永久に実行されることを意味します。私はループを使用していますが、それに偽の状態を与え、その中に本物を入れています。
私はうるさいですか?これを行うより良い方法はありますか?おそらく、私が知らないこのために設計された言語構造がありますか?
database - 頻繁に変化する数値を保存する際のデータベースの冗長性
私の次のアプリでは、ユーザーは常に変化する多くの「ポイント」を持っている可能性があります。たとえば、ユーザーは、タスクを実行することで多くのポイントを獲得したり、ポイントを奪ったり、ポイントを寄付したりできます。
その値を保存し、「履歴」テーブル(ユーザーごとのポイントの増減を含む)に加えて常に更新するか、これに加えて必要に応じてユーザーの現在のポイント数を計算するかどうか疑問に思っています履歴表。
明らかに、この値を保存すると冗長性が生じますが、おそらく履歴テーブルの複数の行から何百回もポイントを計算するよりも望ましいでしょう。
.net - WCF 呼び出し内で SQL 接続を処理するための良い方法は何ですか?
performSqlOperationA()
エンドポイントで公開される 3 つのメソッド( 、performSqlOperationB()
、および) を使用して (ステートレス) WCF サービスを作成するとしますperformSqlOperationC()
。各メソッドは、データを SQL データベースに挿入します。
私のオフィスで見た方法では、各メソッドは SqlConnection オブジェクトを初期化するコードから始まります。各メソッドは、安全に破棄するためのコードで終了します。
各メソッドでこれらのことを行うことなく、各メソッドで SqlConnection オブジェクトが初期化および破棄されるように、これらの WCF メソッドをコーディングするための良い方法は何ですか? WCF メソッドのクラスのコンストラクターで接続を初期化できることはわかっていますが、破棄についてはわかりません... 呼び出しをusing
ブロックにラップすることはできません。
私がよく知っているソリューションの 1 つはPostSharpです。これにより、各メソッド呼び出しの開始時と終了時に特定のコードを自動的に実行する属性を設定できますが、.net フレームワークのみでこれを行うことが非常に望ましいでしょう。
c# - これが冗長なコードではない理由はありますか?
私はいくつかの既存のコードベースでこのコードに出くわしました:
基本的にはにoff
等しいようになっているようrad
です。変数は、コードの後半で同じ意味で使用されます。このコードを残す理由はありますか?