JSLintオプション考察「Google Closure」
「Google Closure」は、Googleの提供するJavaScriptライブラリである「Closure Library」の使用を許可するかどうかのオプションです。「Closure Library」を使用している場合に有効(true)にしておけば良いでしょう。それ以外の場合はデフォルト(false)のままで良いと思います。
「Google Closure」は、Googleの提供するJavaScriptライブラリである「Closure Library」の使用を許可するかどうかのオプションです。「Closure Library」を使用している場合に有効(true)にしておけば良いでしょう。それ以外の場合はデフォルト(false)のままで良いと思います。
「messy white space」は、JavaScriptコード中における空白文字(スペースやタブ)の取り扱いを厳密にチェックするかどうかのオプションです。デフォルト(false)では、正しく空白文字が使われていないと警告が表示されます。
このオプションが有効な場合、JavaScriptコード内の空白文字の扱いは正しいフォーマットで統一されていなければなりません。正しいフォーマットとは、半角スペースの挿入位置や、インデントが適切であるということです。
また、このオプションが有効な状態ではタブによるインデントが使用できなくなります。
タブをつかったインデントを許可するような個別オプションはありませんので、どうしてもインデントにタブを使用したければ、「messy white space」オプション自体を無効(true)にするか、JSLintではなく、別のチェックツールを使わなければなりません。
「many var statements per function」は、関数内に複数のvar文を使用することを許可するかどうかのオプションです。デフォルト(false)では、var文は関数につき1つまで許可され、2つ以上のvar文を用いると「Combine this with the previous ‘var’ statement.」という警告が表示されます。
複数の変数宣言を1つのvar文に集約する書き方を「単独varパターン」と言いますが、JSLintのデフォルト設定では、この単独varパターンを推奨(というか強制)しています。
単独varパターンを用いることに(メリットはあるものの)デメリットはありませんので、この強制に従うのが良いアプローチだと思います。ですので、このオプションはデフォルト(false)のままにしておいた方が良いでしょう。
「TODO comments」オプションは、JavaScriptコード中の「TODOコメント」を無視するかどうかを指定するオプションです。デフォルト(false)では、TODOコメントが残っている状態でコードチェックすると「Unexpected TODO comment.」という警告が表示されます。
このオプションがデフォルト(false)のままであれば、TODOコメントがあった際に警告が表示されるので、TODOの実装漏れに気づかせてくれるかもしれません。ですが、そもそもTODOに関しては他の開発ツール側で管理しているのであればわざわざJSLint側でもチェックする必要はないと思うので、そのような場合は true(無効)にしても良いでしょう。
「inefficient subscripting」は、オブジェクトのプロパティを参照する際、参照するプロパティ名が動的ではなく、静的に決定されているにもかかわらず、ブラケット([ ])を用いたプロパティ参照をすることを許可するかどうかのオプションです。
固定的なプロパティ参照をするケースにおいて、わざわざブラケットを使用したプロパティ参照をすることのメリットはありません。このような場合、通常はドットを使ったプロパティ参照にした方が少ない文字数でシンプルに記述できるので、このオプションはデフォルト(false)にしておいた方が良いでしょう。