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

12
PHPで静的コード分析を実行するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか? Stack Overflowのトピックとなるように質問を更新します。 6年前休業。 PHPソースファイルの静的分析ツールはありますか?バイナリ自体は構文エラーをチェックできますが、次のような他のことを行うものを探しています。 未使用の変数割り当て 最初に初期化されずに割り当てられる配列 そしておそらくコードスタイルの警告 ...

9
C#で使用できる静的分析ツールは何ですか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 6年前休業。 この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答や相互作用を受け入れていません。 C#コードに対する静的分析に使用できるツールは何ですか?FxCopとStyleCopについて知っています。他にありますか?私は以前NStaticに出くわしましたが、永遠に見えるように開発されています-私が見たことのないものからかなり滑らかに見えます。 これらと同じように(これは主に静的分析に対する私の関心です)、マルチスレッドの問題(デッドロック、競合状態など)のコードをテストするためのツールも少し不足しているように見えます。Typemock Racerがポップアップしたので、それを見ていきます。これ以上の何か? 使用したツールについての実際の意見は高く評価されます。

8
Collection <T>とList <T>では、インターフェイスで何を使用する必要がありますか?
コードは次のようになります。 namespace Test { public interface IMyClass { List&lt;IMyClass&gt; GetList(); } public class MyClass : IMyClass { public List&lt;IMyClass&gt; GetList() { return new List&lt;IMyClass&gt;(); } } } コード分​​析を実行すると、次の推奨事項が表示されます。 警告3 CA1002:Microsoft.Design: 'IMyClass.GetList()'の 'List'を、Collection、ReadOnlyCollection、またはKeyedCollectionを使用するように変更します これをどのように修正すればよいですか?ここでの良い習慣は何ですか?


13
PyDevの「インポートからの未定義の変数」エラーを修正するにはどうすればよいですか?
私はEclipseでPyDevを使用しているPythonプロジェクトを持っていて、PyDevがコードに対して誤ったエラーを生成し続けます。オブジェクトsettingsを定義するモジュールがありsettingsます。これをモジュールにインポートしb、次のように属性を割り当てます。 from settings import settings settings.main = object() 一部のコードでは、次のようなステートメントがすべてではありませんが、 from settings import settings print settings.main ...コードが問題なく実行されても、Eclipseコードエラーペインに「インポートからの未定義変数:メイン」メッセージを生成します。どうすれば修正できますか?

12
CA2202、このケースを解決する方法
次のコードからすべてのCA2202警告を削除する方法を誰かに教えてもらえますか? public static byte[] Encrypt(string data, byte[] key, byte[] iv) { using(MemoryStream memoryStream = new MemoryStream()) { using (DESCryptoServiceProvider cryptograph = new DESCryptoServiceProvider()) { using (CryptoStream cryptoStream = new CryptoStream(memoryStream, cryptograph.CreateEncryptor(key, iv), CryptoStreamMode.Write)) { using(StreamWriter streamWriter = new StreamWriter(cryptoStream)) { streamWriter.Write(data); } } } return memoryStream.ToArray(); } } 警告7 CA2202:Microsoft.Usage:メソッド …
102 c#  .net  code-analysis  fxcop 

1
インタプリタによって維持される整数キャッシュとは何ですか?
Pythonのソースコードを調べたところPyInt_Object、int(-5)からint(256)(@ src / Objects / intobject.c)までの範囲のsの配列が維持されていることがわかりました。 少しの実験でそれが証明されます: &gt;&gt;&gt; a = 1 &gt;&gt;&gt; b = 1 &gt;&gt;&gt; a is b True &gt;&gt;&gt; a = 257 &gt;&gt;&gt; b = 257 &gt;&gt;&gt; a is b False しかし、これらのコードをpyファイルで一緒に実行すると(またはセミコロンで結合すると)、結果は異なります。 &gt;&gt;&gt; a = 257; b = 257; a is b True なぜそれらがまだ同じオブジェクトであるのか興味があるので、構文ツリーとコンパイラーを深く掘り下げて、以下にリストされている呼び出し階層を思いつきました。 PyRun_FileExFlags() mod = PyParser_ASTFromFile() …

2
C ++の偽のコピー操作を見つける方法は?
最近、私は次のことをしました struct data { std::vector&lt;int&gt; V; }; data get_vector(int n) { std::vector&lt;int&gt; V(n,0); return {V}; } このコードの問題は、構造体が作成されるときにコピーが発生し、解決策は代わりにreturn {std :: move(V)}を書き込むことです。 このような偽のコピー操作を検出するリンターまたはコードアナライザーはありますか?cppcheck、cpplint、clang-tidyのいずれも実行できません。 編集:私の質問を明確にするためのいくつかのポイント: コンパイラエクスプローラを使用したためにコピー操作が発生し、memcpyへの呼び出しが表示されることがわかっています。 コピー操作が発生したことは、標準のyesを確認することで確認できました。しかし、私の最初の間違った考えは、コンパイラーがこのコピーを最適化するというものでした。私は間違っていた。 clangとgccの両方がmemcpyを生成するコードを生成するため、これは(おそらく)コンパイラーの問題ではありません。 memcpyは安いかもしれませんが、メモリをコピーしてオリジナルを削除する方がstd :: moveでポインタを渡すよりも安い状況は想像できません。 std :: moveの追加は基本的な操作です。コードアナライザーがこの修正を提案できると思います。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.