web-dev-qa-db-ja.com

JavaScriptソースコードアナライザー

JavaScriptファイルを調べる、拡張性の高い優れたソースコードアナライザーを知っている人はいますか?

46
JamesEggers

この質問を最新に保つために、 JSHint と呼ばれるJSLintの分岐があります。 JSHintが作成された理由の説明は here にありますが、要約すると:

JSHintは、Douglas Crockfordによって作成および保守されているJSLintのフォークです。 JSLintはかなり長い間役立ってきましたが、ここ数か月であなたのコードに対して不快な意見を述べ、敵対的になりました。開発者がバグを防止するのに役立つツールから、Douglas Crockfordのようなコードを確実に記述できるようにするツールにすぐに変わります。

61
CodeNaked

JSLint はこれまで主なツールでしたが、現在はさらにいくつかのツールが存在します。

23
chills42

まだ見つからない場合は、Google Closure Compilerをご覧ください。 JavaScriptをコンパイルし、コード内のエラーを見つけます。 http://code.google.com/closure/compiler/docs/gettingstarted_api.html

4

私はESlintを試してみましたが、うまくいきました。カスタムルールを追加することもできます。githubリポジトリは次のとおりです。 https://github.com/nzakas/eslint

4
learner_19

JSAnalyse がcodeplexで公開されました。これは、javascriptファイル間の依存関係を分析するツールです。許可された依存関係を定義することもでき、JSAnalysisは定義されたルールが満たされているかどうかをチェックします。これにより、大きなプロジェクトでもjavascript依存関係を追跡でき、クリーンなアーキテクチャを実現できます。

JSAnalyseは、コマンドラインツールとして実行するか、Visual Studio Layer Diagramm。また、ビルドに簡単に統合できます。ゲートチェックインを使用すると、依存関係を制御できます。

2
Thomas Schmitt

http://esprima.org/ にある多目的分析(esprima)のECMAScript解析インフラストラクチャと呼ばれるパーサーが存在し、いくつかの分析で使用できるいくつかのサンプルツールがあります。

多目的分析のためのECMAScript解析インフラストラクチャ

2
gusridd

JSLint、JSHint、ESLint、Plato、Google Closure-Linterの他に、Esprimaという名前の別のツールがあります。リンクは次のとおりです。 http://esprima.org/

また、これはEsprimaツールのgithubリンクです。 https://github.com/ariya/esprima

Windows用のGoogle Closure-Linterを試しているときに、インストールの問題に直面しました。ただし、Webページでは、Windowsのサポートは実験的であると記載されています。他のすべてのツールは使いやすいです。

2
user_19

静的コード分析のためのツールのリスト にいくつかのツールがあります。== JavaScriptをサポートしているウィキペディアでは、上記のツールのいずれかが役立つ場合は JavaScriptデバッグ も参照できます。 [〜#〜] yui [〜#〜] (Yahoo! Developer Network)には非常に優れたツールがあり、多くの有用なコンポーネントがあります。

私は常に自分自身でJSLintを使用してきましたが、これは私が試したJSの唯一の分析ツールです。私はJavaScriptをますます好きになりましたが、良いツールはまだ問題です。 :(

1

JavaScriptファイルの分析にAptanaを使用しています。多くのgoofsをキャッチします(単一の=の条件の場合)。クラスのレイアウトについても説明します。 jslint実装が組み込まれていると思います。

1
BozoJoe

多くの一般的なエラーなどの修正に役立つJSLintを見つけました。しかし、自分の会社がJavaScriptに実装したいコーディング標準の一部を自動化するのに役立つ独自のルールなどを追加できるものを見つけたいと思っています。

http://www.jslint.com/

拡張性モデルについて詳しく調べる必要があります。

1
JamesEggers