問題タブ [code-inspection]

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

c# - テスト プロジェクトの異なる styleco ルール

私は stylecop を使用していますが、非常に役に立ちます。ただし、テスト プロジェクトには、通常の C# クラス ライブラリとは異なる一連のルールが必要です。

これは可能ですか?

たとえば、通常のライブラリではメソッドにアンダースコアを含めたくありませんが、テスト プロジェクトでは問題ありません。したがって、IDE は通常のプロジェクトではルール違反を警告するはずですが、そのようなテスト プロジェクトでは警告しません。

これに続いて、msbuild タスクの一部として同様のものを使用したいと考えています。

0 投票する
4 に答える
3506 参照

python - Pythonで空の関数定義を検出する

関数が空の定義かどうかを検出する必要があります。次のようになります。

または好き:

または好き:

「検査」モジュールを使用してそれらを検出する最もエレガントな方法は何ですか? これよりも良い方法はありますか:

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

google-chrome - Firefoxで要素ルーラーを検査する

Chromeが要素ルーラーを検査するのと同じように、Firefoxでルーラーを表示する方法があるかどうか知りたいです。

Chromeは現在の幅を表示します。幅+パディング=ルーラーホバーの現在の幅。

参照については、以下のChromeスクリーンショットを参照してください。 GoogleChromeInpect要素で計算された高さ/幅のルーラー

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

.net - [廃止]属性を使用して、APIの一部を使用しないように開発者に指示することをお勧めしますか?

最近、特定のロジックを処理し、特定のライフサイクルを持つシリアル化可能なオブジェクトを作成しています。正しく機能するためには、必須の引数を取る適切なコンストラクターでインスタンス化する必要があります。ただし、シリアル化の目的で、パブリックデフォルトコンストラクターも追加する必要があります。

オブジェクトはAPIによって公開され、サードパーティの開発者がインスタンス化して使用できるようになります。そのオブジェクトを正しく操作する方法については適切なドキュメントがありますが、誰かが間違ったコンストラクターを使用したくなるという保証はありません。

サードパーティの開発者がコードを記述しているときに、ガイダンスを適用するための適切な方法を探しています。このObsolete属性が頭に浮かびました。シリアル化コンストラクターにメッセージとして適切なコメントで注釈を付けることができました。メッセージは出力警告に表示され、開発者を正しいコード行に誘導します。また、コンストラクターの使用法は、VisualStudioと使用されるコード検査アドオンの両方によって適切に強調表示されます。

このアプローチで私を悩ませているのは、Obsolete属性の目的がまったく異なることです。意味的な意味は、装飾されたアイテムが非推奨になり、おそらく今後のバージョンで削除されることです。シリアル化コンストラクターのシナリオでは、これは間違っており、この属性の使用法と意味の間に不一致があります。一部の開発部門で有効になっている可能性のある「警告をエラーとして扱う」オプションは言うまでもありません...

だから、問題は-それは属性のそのような使用法のための許容可能な慣行ですか?同じ効果を達成するための他の合法で普遍的な方法はありますか(普遍的には、サードパーティのコード検査アドオンなどに依存しないことを意味します-私はコードを使用する人とその設定を制御しません)?


以下の回答のコメント(これはまだ私には役立ちます)に関して、継承可能なクラスで保護されたデフォルトコンストラクターを使用していることを明確にする必要があります。コンストラクターはXMLシリアル化をサポートするためにありますが、ビジネスロジックでクラスを初期化するために使用しないでください。継承するクラスは他の基本コンストラクターのいくつかを呼び出す必要があり、継承されたクラスを作成する開発者はそれを知る必要があります。それでも、このコードから派生する開発者は、必要に応じて、継承されたクラスのXMLシリアル化を有効にする手段も必要です。

0 投票する
0 に答える
600 参照

java - 欠陥のある可視性エラーを強調するIntelliJIDEAコード検査

だから、私はこの問題を抱えています-奇妙な問題です。IDEAプロジェクトの一部としてライブラリがあります。このライブラリでは、すべてのコードが「tk。*」の下に公開されています(つまり、すべてのクラスはtkのサブパッケージに存在します)。そのパッケージ内にあるクラスをインポートしようとすると、IDEAはインポートステートメントを強調表示します(「tk」だけが気になります-これは十分に奇妙です)。後で説明する理由を引用します。明らかな「エラー」にもかかわらず、プロジェクト(膨大な数のファイルで構成されています)は正常にコンパイルされます-実際、非常にそうです。

情報:

  • ハイライトの理由(前述のハイライトにカーソルを合わせた場合):'tk'は''で公開されていません
    • これについての注意:上記のパッケージからインポートするファイルは、デフォルトのパッケージには含まれていません。
  • 他のライブラリにあるパッケージからのインポートは、IDEAによって誤って検出されていないように思われます
  • 前述のファイルによってインポートされたクラスは、パッケージプライベートでも、保護されていても、プライベートでもありません。パブリックです。
  • プロジェクトのパス設定は正しいはずですが、私はこれらが間違っている可能性があるという提案を受け入れています

ノート:

  • この質問が奇妙に読めば申し訳ありません-私は現在住んでいる環境にかなり気を取られています。
0 投票する
1 に答える
592 参照

import - IntelliJIDEAで検査プロファイルをインポートする際の問題

検査プロファイルをIntelliJIDEAプロジェクトにインポートしたいと思います。私は次のことを試しました:インスペクターアイコン(ウィンドウの右下隅)をクリックします->インスペクションを構成します->インポート->[プロファイルXMLファイルを選択します]->OK。その後、エラーメッセージは表示されず、実際にすべてが正常に行われたように見えます。しかし、利用可能な検査プロファイルのリストをもう一度見ると、最近インポートされたプロファイルは利用できません。

私は何か間違ったことをしていますか?この問題に関する既知のバグはありますか?

これはファイルに含まれているものです:

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

c# - 「var objectName= new SomeObject()」と「interfaceName objectName= new SomeObject()」の違い

resharper のコード インスペクションを介してコード分析を行っていたところ、次の警告が表示されました。

プロパティ「propertyname」の実装のみが使用されます

インターフェイスにこの警告があります。Google で検索すると、ジェットブレインのこのページが見つかりました: http://confluence.jetbrains.com/display/ReSharper/Only+implementations+of+property+are+used

インターフェースがなくなるので、それはまったく役に立ちませんでした...

そこで、その警告を取り除く方法のテストを開始しました。次のダミー インターフェイスとクラス:

私が使用する場合:

その後、警告が発生します。しかし、次の行を使用すると、警告が消えます。

私はインターフェース忍者ではないので、両方のマナーの違いは何だろう..?

ありがとう!

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

python - 関数によるすべての関数呼び出しを見つける

関数が行うすべての関数呼び出しを見つける最良の方法は何ですか? 実行時にこれを行いたいです(デコレータを使用する可能性があります)。

ソースコードを取得してinspect(これは、ソースコードにアクセスする必要があることを意味します...したがって、インタラクティブなインタープリターのサポートはありません)、それを解析する最良の方法はありastますか?より良い方法はありますか?

Python 2.7 が推奨されますが、必須ではありません。自分でできるくらいシンプルにしたい。他の人がそれを行った場合、私はソースコードを見て、それを理解できるようにします.

最終的には、特定のデコレータを使用した関数の呼び出しのみに関心がありますが、SO にはその部分に対する回答が既にあります。

編集:

版画

Python がいかに動的であるかという理由で、これは一般的なケースでは不可能であることがわかりました。しかし、いくつかのケースのサブセットをカバーできますか?

参考までに:「あなたはばかです。なぜ別の関数によってどの関数が呼び出されているのかを知ることができると思いますか?これが役立つ理由が思いつかないので、あなたにとって役に立たないはずです」大丈夫な反応です。私が知りたいのですが。

0 投票する
0 に答える
379 参照

android - xmlが可能なAndroidスタジオでオートコンプリートがありません

突然、xml インジェクションが属性で機能しなくなり、修正方法がわかりません

ここに画像の説明を入力

STRG + SPACE を押すと、「提案なし」と表示されます。

インジェクションは形状の追加などで機能するため、名前空間は有効なようです

ここに画像の説明を入力