問題タブ [anti-patterns]

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

c# - C#アンチパターン

簡単に言うと、 Javaのアンチパターンは不可欠なリソースだと思います。初心者からプロまで。私はまだC#用にこのようなものを見つけていません。それで、私はこの質問をコミュニティwikiとして開き、これに関する知識を共有するようにみんなを招待します。私はC#を初めて使用するので、これに強く興味がありますが、いくつかのアンチパターンから始めることはできません:/

これが私がC#に特に当てはまり、他の言語には当てはまらないと思う答えです。

これらをコピーして貼り付けただけです!これらについてもコメントを見てみることを検討してください。


投げNullReferenceException

間違った例外をスローする:


プロパティとパブリック変数

クラスのパブリック変数(代わりにプロパティを使用してください)。

クラスが単純なデータ転送オブジェクトでない限り。


ブール値が単なる慣例ではなく、実際の型であることを理解していない

または、さらに良い

Cこのような構造は、ブール値の概念が単なる慣例であった開発者や開発者によってよく使用されC++ます(0 == false、その他はtrue)。これは、C#または実際のブール値を持つ他の言語では必要ありません(または望ましくありません)。


使用するusing()

using必要に応じて利用しない:

0 投票する
7 に答える
17747 参照

python - Python: "..%(var)s.." % locals() を使用していますか?

私はこのパターン (またはアンチパターン) を発見し、とても満足しています。

私はそれが非常に機敏だと感じます:

時々私はそのいとこを使用します:

人為的なタプルとカウント パラメーターを作成し、タプル内で %s の一致する位置を保持する必要はありません。

あなたはそれが好きですか?使いますか/使いますか? はい/いいえ、説明してください。

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

javascript - jQuery(アンチ)パターン:文字列操作によるセレクターの構築

文字列操作(分割、検索、置換、連結、+、結合)を使用してセレクターを構築していることに気付くことがよくあります。

良いか悪いか?

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

javascript - JavaScript の組み込みプロトタイプを変更するのはアンチパターンですか?

この投稿Objectから、 JavaScript で のプロトタイプを変更することはアンチパターンであることを理解しています。ただし、他の「組み込み」プロトタイプを変更することはアンチパターンであると広く考えられているかどうか、興味がありました。

たとえば、コンテキストの画像データを取得し、ピクセルを特定の色に設定し、画像データを元に戻すという義務を抽象化するために、setPixel(x,y,color)関数を追加したいとします。CanvasRenderingContext2D

私はこのコードをテストしていませんが、アイデアはわかります。「ベストプラクティス」に対してこのようなものはありますか?

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

language-agnostic - 依存性注入のベストプラクティスとアンチパターン

私は依存性注入に比較的熟練していないので、DIを使用するときにそれぞれ使用するベストプラクティスとアンチパターンを学びたいと思います。

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

design-patterns - 疑わしい悪意のあるパターンのリスト

コードを分解して分析することで、ウイルス対策プロジェクトを行っています。悪意の疑いのあるパターンコードのリストが必要なので、疑わしいものとそうでないものを観察できますか?

したがって、疑わしいパターンのみのリストが必要です。

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

c# - プロパティの getter アクセスでオブジェクトの状態 (初期化など) を変更できるのはいつですか?

(プロキシ設定を除く!)

基本クラスでの初期化は、そうではない継承クラスからのデータに依存していたため、ほとんどすべてのプロパティゲッターで条件付き初期化を実行するクラスの問題のより良いパターンに関する質問をここに書くのに時間を費やしました建設で入手可能。

質問を書いているときに、継承者の構築を初期化する方が良いという結論に達しました。これには、すべての継承クラスが親の初期化メソッドを呼び出す必要がありますが、次の理由から、そのほうがよいと思います。

  1. すべての新しいプロパティ getter/setter の基本クラスで初期化することを覚えておく必要はありません。
  2. デバッグ中に誤って初期化をトリガーすることはありません (ここで私の質問を参照してください)

プロパティ ゲッターで状態を変更するコードを使用したことがある場合、それは絶対に正当化できると思いますか? そのような場合の例を挙げていただけますか?(または、パターンを説明することさえできますか?)

プロパティアクセスまで初期化を実行したくないプロキシアクセスしか考えられませんでした...


ファクトリ/静的メソッドを使用して初期化することを誰かが提案しました-それは実際には良い考えです(構造が単純な場合、継承するクラス間で均一でない場合は少し難しいです)が、返信を送信する前に回答が削除されました. 残念な。

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

design-patterns - 貧血ドメイン モデルとドメイン モデルの比較

SO でこのアンチパターンとそれに関する多くの懸念について読んだ後、再び混乱しています。

ドメイン モデルがあり、データ転送オブジェクトに永続化する必要があるデータをキャプチャする場合、ドメイン モデルはデータのラッパーになりますか? その場合、貧血ドメイン モデルを使用します。しかし、そのラッパーに十分なドメイン ロジックを追加すると、どの時点で実際のドメイン モデルになるのでしょうか?

ドメイン モデルで永続化する必要があるものをキャプチャすることは、優れたプラクティスに違反し、貧血ドメイン モデルのアンチパターンを作成するという印象を受けます。しかし、リレーショナル DB を使用する場合、オブジェクトの状態を構成する部分を特定して保存することを避ける方法はありません。

私は概念についてかなり混乱しているので、私が書いていることが意味をなすかどうかはわかりません. 気軽に質問してください。

0 投票する
18 に答える
2715 参照

design-patterns - 設計パターンがソフトウェアを悪化させるのはいつですか?

設計パターンがソフトウェアを悪化させるのはいつですか?

GUI とロジックの間でファサード パターンを使用するプログラムを見たことがあります。彼らは、これを介してオブジェクトを転送することはできないと考えていたため、コーディングが困難なプリミティブ型のみが使用されました。

0 投票する
10 に答える
34204 参照

design-patterns - シングルトンインゴー

goプログラミング言語でSingletonデザインパターンをどのように実装しますか?