問題タブ [static-analysis]
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.
compiler-construction - Gimpel の PC-lint と Flexelint。使った人いますか?
そこで、いくつかの雑誌の記事と、Gimpel の PC-lint および Flexelint C/C++ コンパイラーの Web サイトを読みました。
(少なくとも私にとっては)本当に高価ですが、コストを正当化するメリットがあるようです。
それで、他の誰かがそれらを使用/購入して、意見を提供できるかどうか疑問に思っていますか?
language-agnostic - 抽象クラスの空のメソッド
Javaプロジェクトを分析するためにPMDをインストールしました。本当に素晴らしいツール、強くお勧めします。とにかく、私は言っているいくつかのエラーがありました:
「抽象クラスの空のメソッドは、代わりに抽象である必要があります」
PMDのドキュメントを確認したところ、説明には次のように書かれています。
開発者は適切な実装をコーディングするのではなく、この空の実装に依存する可能性があるため
したがって、このコードスタイルエラーの背後にある理由は理解できたと思いますが、次のシナリオを検討してください。Entityという抽象クラスがあります。このクラスには、デフォルトの実装を持つブールメソッドがあります。(削除時に関連するエンティティを削除するかどうかを制御します)。派生クラスのいくつかだけが、このデフォルトの動作をtrueにオーバーライドします。
デフォルトの実装を削除して、すべての派生クラスに動作を宣言させる必要がありますか?このパターンは本当に悪い習慣だと思いますか?
明確化: PMDは、単一のreturnステートメントを持つメソッドを空として扱います。
java - Java コード使用チェッカー
私は、ライブラリがどれだけ使用されているかを判断したいライブラリに取り組んでいます。IE では、ライブラリ内で公開されているが呼び出されていないメソッドの数を知りたいと考えています。
目標: 静的解析 現在のプロジェクトのパッケージ A の各パブリック メソッドを呼び出すコードの行数を決定します。呼び出し回数がゼロの場合、メソッドはそのように報告されるべきです。
c# - コードブロックのコード複雑度を計算するための既存のライブラリ
任意の量のコードを含む文字列が与えられます。その文字列のコードの複雑さを表す数値を計算したいと思います。何かのようなもの:
私はあなたのためにこれを行うツールがたくさんあることを理解しています。 プログラムで実行したいので、これらのツールは機能しません。 ライブラリをC#にしたいと思いますが、この時点では何でも機能します。
前もって感謝します!
.net - イベントデリゲートを確実に削除するための静的分析ルール(FXCop)の作成方法に関するアイデア
私たちは大規模なメモリリーク分析を行ってきましたが、その要因の1つは、イベントのデリゲートが削除されなかったために、オブジェクトが十分に速く(場合によっては永久に)GCされないことでした。
FXCopでルールを記述して、デリゲートをハンドラーから確実に削除する方法について、誰かアイデアがありますか?
私はこれを見たばかりなので、そこで詳細を尋ねます。
sql - Oracle デッドロック検出ツール
Oracle クエリと PL/SQL プロシージャ (トリガー、制約など) の静的アナライザーを探しています。これは、DB スキームを渡し、潜在的なデッドロックを指摘するツールです。JavaのFindBugsと同じです。
そのようなツールが存在しない場合、あなたはそれを持ちたいですか?
customization - StyleCopルールSA1600からプライベートメンバーを除外する方法
プライベートメンバーではなくプロパティにのみ適用されるように要素を文書化する必要があるというStyleCopルールSA1600を変更する方法を知っている人はいますか?
私たちのORM(DevExpress XPO)では、すべてのパブリックプロパティのプライベートメンバーが必要です(セッターで関数を呼び出して永続化するだけでなく、プライベートメンバーに格納する必要があるため)、パブリックプロパティとプライベートの両方にコメントを付ける必要があります同じことをしているメンバーは、いくつかのテーブルに50以上のフィールドがあることを考えると、私を殺しています。