タグ付けされた質問 「dead-code」


21
Javaプロジェクトで未使用/デッドコードを見つける方法[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 7か月休業。 この質問を改善する 大規模なJavaプロジェクトで未使用/デッドコードを見つけるためにどのツールを使用していますか?当社の製品は数年前から開発されており、使用されなくなったコードを手動で検出することは非常に困難になっています。ただし、未使用のコードはできるだけ削除するようにしています。 一般的な戦略/手法(特定のツール以外)の提案も歓迎されます。 編集:すでにコードカバレッジツール(Clover、IntelliJ)を使用していますが、これらはほとんど役に立ちません。デッドコードにはまだユニットテストがあり、カバーされているように見えます。理想的なツールは、コードに依存する他のコードがほとんどないコードのクラスターを識別し、ドキュメントを手動で検査できると思います。

4
Rustで未使用のコード警告を無効にする方法は?
struct SemanticDirection; fn main() {} warning: struct is never used: `SemanticDirection` --> src/main.rs:1:1 | 1 | struct SemanticDirection; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: #[warn(dead_code)] on by default 私はこれらの警告を深刻なもののために再びオンにしますが、私は言語をいじくり回しているだけであり、これが私をコウモリに駆り立てています。 #[allow(dead_code)]コードに追加してみましたが、うまくいきませんでした。

4
Intellij Ideaで未使用のクラスをすべて見つけるにはどうすればよいですか?
Intellij Ideaの未使用のコードをすべて見つけることができる「未使用の宣言」の検査があります。(この質問を参照)しかし、メソッド、変数などではなく、すべての未使用のクラスを検索します。クラスのみを検索します。(3000の結果リストでクラスのみを見つけるのは困難です)。どうすればできますか?

8
動作が未定義のブランチは到達不能と見なされ、デッドコードとして最適化されますか?
次のステートメントを検討してください。 *((char*)NULL) = 0; //undefined behavior 明らかに未定義の動作を引き起こします。特定のプログラムにそのようなステートメントが存在するということは、プログラム全体が未定義であること、または制御フローがこのステートメントにヒットしたときにのみ動作が未定義になることを意味しますか? 次のプログラムは、ユーザーが番号を入力しない場合に備えて明確に定義されています3か? while (true) { int num = ReadNumberFromConsole(); if (num == 3) *((char*)NULL) = 0; //undefined behavior } それとも、ユーザーが何を入力しても、完全に未定義の動作ですか? また、コンパイラは、未定義の動作が実行時に実行されないことを想定できますか?これにより、時間を遡って推論することができます。 int num = ReadNumberFromConsole(); if (num == 3) { PrintToConsole(num); *((char*)NULL) = 0; //undefined behavior } ここで、コンパイラーは、num == 3未定義の動作を常に呼び出す場合に備えて推論することができます。したがって、このケースは不可能でなければならず、番号を印刷する必要はありません。ifステートメント全体を最適化することができます。この種の後方推論は規格に従って許可されていますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.