「Google JavaScript Style Guide」に沿ってチェックしてくれる、グーグル製JavaScript文法チェッカー

2010年9月8日

グーグルはJavaScriptコードのスタイルガイド「Google JavaScript Style Guide」を公開しており、同社自身もこのスタイルに従って開発を行っているとされています(スタイルガイドの日本語訳の例)。

このスタイルガイドに従った開発を支援してくれるツールがグーグルからオープンソースとして公開されました。同社のClosure Tools Blogのエントリ「Introducing Closure Linter」で紹介された文法チェックツールのClosure Linterです。

Closure LinterはPythonで書かれたツールで、コマンドラインから利用します。上記のエントリによると、次のようなJavaScriptをチェックに書けると…

var x = 10
var y=20;

for(var i = 0;i < 10; i++ ) {
  x += i;
   y -= i;
}

    var z = [10, 20,];

x = y + z[0]
    + 10;

このようにチェック結果が帰ってくるとのこと。

Line 1, E:0010: (New error) Missing semicolon at end of line
Line 2, E:0002: Missing space before "="
Line 2, E:0002: Missing space after "="
Line 4, E:0002: Missing space before "("
Line 4, E:0002: Missing space after ";" in for statement
Line 4, E:0001: Extra space before ")"
Line 6, E:0006: (New error) Wrong indentation: expected any of {2} 
but got 3
Line 9, E:0121: Illegal comma at end of array literal
Line 12, E:0120: Binary operator should go on previous line "+"
Found 9 errors, including 2 new errors, in 1 files (0 files OK).

fixjsstyleコマンドで、JavaScriptコードをスタイルに合わせて自動的に整形することもできます。

Closure Linterのインストール方法

Closure Linterのインストール方法は、「How to Use Closure Linter」のページで、Linux、Mac OS X、Windows用が紹介されています(ただしWindowsは実験的リリースとのこと)。

基本的にはそれぞれの環境でPythonを使えるようにしたあと、Easy Installコマンドでインストールする、という手順になっています。

使い方は、コマンドラインからコマンド名$gjslintのうしろにファイル名。

$ gjslint path/to/my/file.js

ブログWeb scratchのエントリ「Web scratch」では、実際にWindowsにインストールして使う手順が紹介されています。どうやらWindowsではPythonのソースコードにTypoがあり、それを修正する必要があったようです。Windowsで試そうという方は参考にしてみてください。

このエントリーをはてなブックマークに追加
follow us in feedly

タグ : Google , JavaScript



≫次の記事
NoSQLについて知っておくべき10の事柄
≪前の記事
マイクロソフトのクラウドサービス「Microsoft Online Services」が一時ダウン、そして今日もダウン

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



Publickey 最新記事 10本

Publickey Topics 最新記事 10本


PR - Books


fig

fig

fig

fig



blog comments powered by Disqus