問題タブ [fxcop]
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.
static-analysis - 既存のコード ベースに FxCop / 静的解析を実装する方法
既存の違反を含む既存のコード ベースに FxCop / 静的分析を実装するときに使用される戦略にはどのようなものがありますか? 静的解析違反を最も効果的に減らすにはどうすればよいでしょうか?
visual-studio - ソースでのコード分析ルールの除外
私がFxCopで作業しているプロジェクトでは、Windowsフォームデザイナによって生成されたInitializeComponent()メソッドで多くの(つまり400を超える)エラーが表示されます。これらのエラーのほとんどは、ラベルのTextプロパティの割り当てにすぎません。
ソースでこれらのメソッドを抑制したいので、FxCopによって生成された抑制コードをAssemblyInfo.csにコピーしましたが、機能しません。
これは、FxCopがクリップボードにコピーした属性です。
このメッセージを抑制するための正しい属性を知っている人はいますか?
PS:Visual Studio 2005、C#、FxCop1.36ベータ版を使用しています。
.net - .netでネストされたクラスを使用する理由/時期 それともあなたはすべきではありませんか?
キャスリーン・ドラードの2008年のブログ投稿で、彼女は.netでネストされたクラスを使用する興味深い理由を示しています。ただし、FxCopはネストされたクラスが好きではないと彼女は述べています。FxCopルールを書いている人は愚かではないと思いますので、その立場には理由があるはずですが、私はそれを見つけることができませんでした。
.net - 未使用のPUBLICメソッドを検出するカスタムFxCopルールはありますか?
FxCopを試しました。未使用のプライベートメソッドは検出されますが、未使用のパブリックメソッドは検出されません。同じアセンブリ内から呼び出されないパブリックメソッドを検出するプラグインをダウンロードできるカスタムルールはありますか?
visual-studio - FxCop / StyleCopを、Visual Studioで選択したメソッドのみを分析するように制限できますか?
私はメンテナンスチームを引き受けており、コードを改善し、開発者に優れたプログラミング手法と標準を紹介するのに役立つFxCopやStyleCopなどのツールを紹介したいと思います。コードを維持しており、大幅な拡張は行っていないため、変更を加える場合は、一度に2、3のメソッド/ルーチンのみを処理する可能性があります。
クラス全体またはプロジェクト全体を分析するときに発生するすべての問題に圧倒されないように、FxCop / StyleCopをVisualStudio内のコードの特定の領域にターゲティングすることは可能ですか?可能であれば、どうやってそれをやりますか?
ありがとう、マット
c# - C# 開発者にとって "従わなければならない" FxCop ルールはどれですか?
現在進行中のプロジェクトの 1 つで FxCop の使用を開始する予定です。しかし、利用可能なすべてのルールを選択して試してみると、コードに多くの変更を加える必要があるようです。「チーム メンバー」であるため、命名規則の変更など、これらの変更をすぐに開始することはできません。とにかく、最小限のルール セットで FxCop の使用を開始し、ルール セットを徐々に増やしていきます。私が従うべきFxCopルールが必要ないくつかを教えてください。または、より良いアプローチを提案していますか?
注: 私のコードのほとんどは C# です。
c# - リストを使用する最良の方法コレクションの公開
値のリスト (整数、カスタム クラスなど) を公開する Web サービスを実装する必要があります。私の作業ソリューションは aList<T>
を返します。FxCop によれば、Collection<T>
またはを返す方がよいとされていますReadOnlyCollection<T>
。
を返すことを選択した場合ReadOnlyCollection<T>
、Web サービスは次のようなエラーを表示します。
XML シリアライズ可能であるためには、継承元の型は、継承階層のすべてのレベルで を
ICollection
実装している必要があります。実装しません。Add(System.Int32)
System.Collections.ObjectModel.ReadOnlyCollection
1
[[System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
Add(System.Int32)
List<T>
内部で a を使用して aを公開するお気に入りの方法は何Collection<T>
ですか? (C# を使用し、フレームワーク 2.0 のみを使用することをお勧めします)
.net - FxCopのCollectionPropertiesShouldBeReadOnlyルールはSpringFrameworkと互換性がありませんか?
FxCopには、クライアントが設定できるある種のコレクションプロパティがクラスにある場合に文句を言うCollectionPropertiesShouldBeReadOnlyルールがあります。代わりに、プロパティを読み取り専用にし、コレクションの内容を変更するためのClear()メソッドとAdd()またはAddRange()メソッドを提供することをお勧めします。
私はそれがよりクリーンでより制御されたインターフェースになることに同意しますが、私はそのインターフェースをSpringフレームワークで動作させるのに苦労しています。コラボレーターのコレクションを使用してオブジェクトを構成する場合は、コラボレーターを注入するためのコレクションプロパティを公開する必要があります。Springのドキュメントを調べましたが、SpringにAddRange()メソッドを呼び出すように指示する方法がわかりません。何かが足りませんか?
今のところ、Springの構成に必要であることに注意して、警告を除外します。
更新:過去2か月間、ここでニブルを取得しなかったため、FxCopフォーラムに同じ質問を投稿しました。
.net - .NET Framework 3.5 SP1 の依存関係を検出する (cmp. 3.5 w/o SP1)
私は自分のマシンで 3.5 SP1 を使用していますが、顧客は現在 SP1 なしで 3.5 を使用しています。VS2008 でソリューションまたはプロジェクトを SP1 なしで 3.5 にターゲットにする方法がわかりません。インストールした SP1 付きの 3.5 だけです。
3.5 w/o SP1 で使用できない関数またはコンストラクタを使用すると、コードは正しく動作しません。
つまり、SP1 なしでは機能しないものをコンパイル時に検出したいと考えています。
これまでのところ、(VM または別のマシンで) テストを行って、アプリケーションが壊れるかどうかを確認しました。また、SP1 まで利用できなかった API の一部を使用すると、アプリケーションが壊れることがあります。問題は、アセンブリがロードされたときではなく、コードが実際に実行されたとき (実行時) にのみ壊れることです。
1 つの解決策は、SP1 なしの VS2008 を搭載したマシンを用意して、プロジェクトをコンパイルしようとすることです。ただし、ソースコードまたは生成したアセンブリを分析することにより、3.5 SP1 への依存関係 (新しい API の使用などによるもの) を検出するのに役立つツールが必要です。
私のグーグルの力は、この質問では十分に強くありませんでした.何かヒントはありますか?
code-analysis - FxCop のどのルールを無効にしますか?
個人的にはまだ FxCop を使用していません。コード分析に進む前に、まず単体テストを実行したいと考えています。ただし、永久に無効にするルールはどれですか? どのルールを一時的に無効にするか、またどのような状況で無効にしますか?