問題タブ [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.
c - float と int を比較するときに Splint (C コードチェッカー) がエラーを出すのはなぜですか?
どちらも数学的な値ですが、float の方が精度が高くなります。それがエラーの唯一の理由ですか - 精度の違いですか? それとも、別の潜在的な (そしてより深刻な) 問題がありますか?
c - Cコードの愚かな間違いを捕まえるためのツールはありますか?
私の時間と同僚の時間を無駄にする厄介なタイプミスがありました。それは次のようなものでした。
まず第一に、それは非常に恥ずかしいことです、第二に、私はこれを決して繰り返さないでください。私はCに比較的慣れていません。Javaでは、FindBugsを使用してこのようなエラーをキャッチできると思いますが、Cコードにはどのツールを使用すればよいですか?リント?
flash - actionscript の lint ツール?
actionscript で使用できる lint ツールはありますか? ソースは 1 つが理想的ですが、どんなソースでも大歓迎です。
私のチームは、より厳密なスタイル ガイド (「より厳密」とは「存在する」という意味) を採用し始めており、リンターは、私たちが合意したスタイル ルールをより簡単に順守するのに役立つと思います。私は自分自身を書いているわけではありませんが、他に何があるかを最初に見てみたいと思います。
Google で簡単に検索しても (少なくとも今のところ) 何もわかりません。
javascript - VIM + JSLint?
現在はたくさんの JavaScript を書いており、vim で日々を過ごしています。コーディングを改善するために、JSLint などを vim に統合する方法を見つけようとしています。誰かがこのようなことをすることができましたか?
編集:
これを試しました:Javascript Syntax Checking From Vim、残念ながら出力は非常に粗いです。
syntax - crontab 用の lint のようなプログラムはありますか?
crontab の lint のようなものはありますか? 何かがうまくいかなくなるのを待たずに、すべてのスペースと星を整理したことを知りたいです。
java - Java リーキー抽象化チェッカー
私は、Java で「漏れやすい抽象化」をチェックするプログラムを作成するという考えを熟考しています。すぐに頭に浮かんだ 1 つの領域は、例外があります。
注意してください、私はチェックされた/チェックされていない例外の相対的なメリットについて議論したくありません. 私が探しているのは、他の例 (例外処理である必要はありません) であり、ソース コードまたはクラス ファイルを調べることで合理的に把握できるものです。
私はcheckstyle、findbugs、およびPMDを認識していますが、知る限り、これを扱っているものはありません(そして、自分で作成するのではなく、これらのツールのいずれかにチェックを入れることに反対していません)。
静的にチェックできる漏れやすい抽象化の他の例はありますか?
編集:
2 番目の方法が悪い理由は、クライアントが JDBC (たとえば、何でもかまいません) が使用されていることを知る方法がない場合に、メソッドが例外をスローすることです。したがって、「漏れやすい抽象化」は、JDBC が使用されていることです。基礎となるメカニズムが別のものに変更された場合 (別のデータベース抽象化ライブラリである JPA など)、例外もすべて変更する必要があります。そのため、基盤となるデータベース ライブラリが流出しています。
javascript - JSLint (CLI): オプション?
次のように、UbuntuコマンドラインからJSLintのRhino バージョンを実行しています。
Web インターフェイスにはさまざまなオプションがありますが、コマンド ラインからそれらを呼び出す方法がわかりませんでした。ドキュメントで何か見落としていますか?
javascript - JSLint: コントロール コメント (選択的無視)
JSLintには JavaScript Lint のコントロール コメント(例: ) のようなものがあり、特定のパッセージを無視できますか?/*jsl:fallthru*/
c - 変数を宣言する場所をスプリントに無視させるにはどうすればよいですか?
変数を宣言する場所をスプリントに無視させる方法を知っていますか?
古い学校の c では、すべての関数の最初に変数を宣言するように指示されていますが、私は悪い人なので、変数を使用する場所の近くで宣言するのが好きです。良い例は int i; です。for(i=0;...) の直前。
非常に簡単な例を見てみましょう
ここで、splint とほとんどの古い c コンパイラは int i; を移動したいと考えています。1 行上げるか、宣言と for ループを {} で囲みます。
さて、質問ですが、このチェックをオフにするにはどうすればよいですか? しかし、良い他のチェックを続けますか?
ありがとうヨハン
注 1: 私はすでに gcc 警告 (以下を参照) を防御の最初の行として使用し、valgrind を 2 番目の行として使用しています。しかし、私の愚かさを制御できるもののリストに添え木を追加することを考えています;-)しかし、このチェックはただ面倒です.
私が使用する gcc 警告: -Wall -W -Wextra -Wconversion -Wshadow -Wcast-qual -Wwrite-strings -Werror
注 2: 私は、その悪い動作から生じる潜在的な移植性の問題について知っています。しかし、読みやすさが向上すると思います。別名、この型オフ宣言を検索するために上下にジャンプする必要がないことは、より価値があります (これについては別のスレッドで説明します)。
更新: もう少し情報を追加します。上記のコードを main.c というファイルに入れました。使用されているプラットフォームは Ubuntu 8.04 で、エディターとして gvim を使用しています。これは、実行したときの splint からの出力です。
これにより、以前は考えもしなかった 2 つの疑問が生じます。
「現在の値と冗長」、現在の値は?
警告ではなく解析エラーなのはなぜですか?
更新::この問題をサポートするためにスプリントにパッチを適用する可能性があります。これはまだ試していませんが、解決策だと思います。