問題タブ [lint]

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

c++ - AutolintへのSConsの設定

私はGoogleのcpplint.pyを使用して、プロジェクトのソースコードがGoogleC ++スタイルガイドに記載されている基準を満たしていることを確認しています。SConsを使用してビルドするので、SConsに最初にすべての.hファイルと.ccファイルを読み込んでから、それらに対してcpplint.pyを実行し、合格した場合にのみファイルをビルドすることで、プロセスを自動化したいと思います。問題は次のとおりです。

  1. SConsでは、ビルドプロセスを事前にフックするにはどうすればよいですか?lintingを通過するまで、ファイルをコンパイルしないでください。
  2. cpplintは終了コードを返しません。SConsでコマンドを実行し、結果が正規表現と一致するかどうかを確認するにはどうすればよいですか?IE、テキストを出力するにはどうすればよいですか?
  3. プロジェクトは大規模ですが、#1と#2のソリューションが何であれ、-jオプションがSConsに渡されるときに同時に実行する必要があります。
  4. 一部のファイルがlintチェックをスキップできるようにするホワイトリストが必要です。
0 投票する
4 に答える
12050 参照

verilog - Verilog リンティング ツール?

Verilog 用の良いリンティング ツールは何ですか? LUT、PLL などの特定のベンダー固有のプリミティブを処理または無視するように構成できるものが望ましいです。

私は最近、verilator-3.810 を試しましたが、すぐに使用できるようにするには、プリミティブについて少し助けが必要です。

では、Verilog のそれほど厳密ではない構文を処理するために、どの (リンティング) ツールを使用していますか?

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

lint - インクリメンタル ビルドの PC Lint - 最新コードからのエラーあり


インクリメンタル ビルドで CI をセットアップしています。静的チェックの一環として、インクリメンタル PC Lint レポートを構成する予定です。このレポートは、以前のすべての Lint レポートを無視して、新しいコードで発生したエラーのみを提供する必要があります。これを行うツールはありますか?

探索する相対的な領域に関するヒントは、私たちを助けるでしょう.


レポートの差分をとってみました。ただし、行番号は最後のチェックインとは異なるため、実際の増分エラーは発生しません。

プロジェクトのビルドには Linux を使用し、PC Lint レポートの生成には Windows を使用しています。

よろしく、

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

objective-c - Objective-C開発用のリントチェックツール

複数の開発者がいる大規模なプロジェクトでは、多くの場合、スタイルに一貫性のないコードが作成されます。Clang Static Analyzerの範囲を超えて、スタイルの規則に準拠しているかどうかをチェックする、Objective-Cに合わせたlintのようなツールを探しています。たとえば、中かっこ、インデント、コメントの書式設定、関数の上部での変数の宣言など。

私はAnalysisToolを知っていますが、私が求めていることを完全には実行しません。私はこの質問がSOの他の場所で尋ねられているのを見ましたが、質問者が同じことをしたのかどうかは明らかではありません。

そのようなツールは存在しますか?

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

c++ - CとC++では構造体の定義が異なります-安全ですか?PC-Lintは警告します

次の宣言は、C++ファイルでコンパイルするための演算子をいくつか追加します。定義は、CファイルとC++ファイルの両方に含まれています。

PC-Lintがエラー114を報告しています:タグ'Rect'の構造宣言に一貫性がありませんが、安全であると確信しています。

VisualStudio2008でコンパイルしています。

編集-クライアントに送信した説明を追加します

Rectの問題に関して; 構造体がCとC++で同じサイズであることを知ることで、「未定義動作」の疑いをどのように排除できますか。

データ構造内のフィールドの実際の場所がコンパイルによって異なる場合、未定義の動作が発生します。

すべてのメンバー変数アクセスは、最終的にはポインターに解決されると考える必要があります。これは、オブジェクトストレージの先頭へのポインターと、その構造内にあるものに応じたオフセットによって計算されます。

パッキングとデータアライメントの設定は、オフセットの値に影響します。

コンパイラーは、最適なアクセスのために型を並べ替えることができます。指定された順序で2つのメンバーを宣言したからといって、実際にはその順序で格納されていると想定するのは未定義の動作です。宣言順序が保証するのは、初期化、コピー、および破棄の順序だけです。

ただし、同じコンパイラ内で同じオフセット設定を使用して特定の構造体をCおよびC ++でコンパイルする場合、実際の並べ替えの可能性は事実上ゼロです。

したがって、心配する必要があるのは、フィールドのオフセットの違いだけです。

単純な4つの短整数を含む構造体の場合、CバージョンとC ++バージョンが同じサイズであることを確認するだけで、それらのオフセットがすべて同じであることが保証されます。さらに注意するために、構造体のサイズ= 4 * sizeof(short)であることを確認することもできます。

これらのチェックを追加する価値があると思いますが、一度追加すると、CとC ++で別々の型を使用する(または使用されている関数を無料の関数に移動する)ために必要なコードをリファクタリングする必要はありません。

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

python - Djangoの国際化(i18n)リントチェッカー?_()または{%trans%}されていないものを教えてください

djangoプロジェクトを国際化(i18n)する必要があります。多くの社内djangoアプリが組み合わされています。すでに部分的にi18nされています。つまり、一部の文字列は_()ですが、一部はむき出しになっています。一部のテンプレートは{% blocktrans %}または{% trans %}を使用しますが、英語のテキストが直接そこにある場合もあります。これらすべてを変更するには、多くの手作業が必要になります。しかたがない。

Pythonコードのどの文字列とhtmlテンプレートのどのテキストが_()/ {%trans%}を通過していないかを確認する方法はありますか?「i18nlint」チェッカー?まだ_()されていない、または{%trans%}にない文字列の行とファイル名を出力するコマンド誤検知(および誤検知)をスローしても問題ありません)、私は私が何かを逃していないことを確認するための何らかの方法が欲しいだけです。

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

r - R lint プログラムの作成

Python でプログラミングする場合、pylint を使用すると非常に便利です。しかし、R でプログラミングする場合、これに匹敵するものはありません。

小さなサイド プロジェクトとして、小さな lint プログラムを書いてみるのは楽しいだろうと思いました。派手すぎるものはありません。次のようなものです。

  • 関数名がキャメルケースであることを確認する
  • 関数の平均長
  • 未使用変数の検出
  • 間隔。たとえば、function(x=1, y=2)代わりにfunction(x=1,y=2)

ただし、開始方法がわかりません(pylint soureコードを調べ始めました)。

どのように始めればよいですか?このタイプのプロジェクトに標準的なプログラミング手法はありますか? 検討すべき良いリソースはありますか?

プロジェクト全体をRで書きたいと思います。

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

static-analysis - 静的アナライザーはどのレベルを分析する必要がありますか?

ソース コードで動作する静的アナライザーもあれば、バイトコードで動作するものもあることに気付きました (FindBugs など)。オブジェクト コードで動作するものもあると思います。

私の質問は単純なものです。さまざまなレベルの分析に対してさまざまな種類の静的アナライザーを作成することの利点と欠点は何ですか?

「静的アナライザー」の下には、リンター、バグ ファインダー、さらには本格的な検証ツールも含まれています。また、分析のレベルごとに、ソース コード、高レベルの IR、低レベルの IR、バイトコード、オブジェクト コード、およびすべてのフェーズにアクセスできるコンパイラ プラグインを含めます。

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

c - lintとcstyleを含むCに適したテキストエディタ?

次のサポートが組み込まれている、優れたCコードエディタを使用したいと思います。

  1. C、Make、XML、Javaなどのコードカラーリング。
  2. リント
  3. Cstyle
  4. Ubuntuで動作します
  5. おそらく、統合された素晴らしいビジュアルデバッガーもありますか?

私はIDEを使用したくないのですが、それらのほとんどはCにやや不器用に思えます。

私は元Java開発者なので、退屈に聞こえたらごめんなさい。

みんなありがとう!

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

eclipse - EclipseでのLintエラーの解析

しばらく前に、Eclipseでのlintの使用に関するブログを書きましたが、最終的にエラー解析を機能させて、lint info / warning / error行をクリックし、コード内のその場所にジャンプできるようにしたいと思います。標準的なアプローチがいくつかあるようですが、私はそれらを機能させることができません。以下の質問の1つに対する一般的な回答または具体的な回答を受け付けています。

  1. 外部ツールの代わりにmakefileを使用する。マネージドビルドを使用しましたが、近づいてきました。マネージドビルドでは、ビルドを実行する代わりにlintを実行しようとする構成があります。唯一の問題は、Eclipseの何かがコマンドに「-k」オプションを追加し続けることです。これにより、lintが失敗します。Eclipseがその-kオプションを追加しないようにする方法を知っている人はいますか?(削除すると戻ってきます)。-kオプションを示すスクリーンショット

  2. もう1つの方法は、コンソールウィンドウへの出力を解析することです。完璧に見えるErrorLinkというプラグインを見つけました。残念ながら、準拠する正規表現を作成できないか、lintに対して正しく実行されるようにツールを構成していません。かなりまばらな指示は、exeを.xmlファイルに追加することを示しています。xmlファイルを見つけて追加しました

    <consoleLineTracker class="net.sourceforge.sunshade.errorlink.RegexpLineTracker" processType="lint-nt" id="regexpLineTracker">> </consoleLineTracker_

次に、(SomeFileName`.cpp)のような単純な正規表現を試しました。ここでは、SomeFileName.cppが結果に表示されていることを確認しましたが、リンクは生成されません。ErrorLinkプラグインが実際に実行されたかどうかはわかりませんが、実行されなかったと思います。では、誰かがこのプラグインを使用したことがありますか?それをlintで動作させる方法についてのヒントはありますか?