アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

JavaScriptのコードを測ろう「plato」

こんにちは、中川です。
PHPよりもJavaScriptを書く機会が多いこの頃です。

さて、JavaScriptといえば、何も考えずにアプリを作ると
プロジェクトがカオスになることで有名な言語ですね。
気を使って作っていてもちょっとした油断で、
気付いた時にはメンテナンス不可能なコードが出来上がっていたりします。

今回ご紹介するのは、不幸にもそんな状態になってしまったたくさんのコードの
どこがどのような状況なのかをパッと確認できるツールをご紹介します。

■plato


https://github.com/jsoverson/plato

platoはNode.jsで動作します。
プロジェクトのJSファイルを解析して、
コードの行数や複雑度、メンテナンス性、jshintの警告などをHTMLレポートとしてまとめてくれます。



実際のレポート画面は以下で確認できます。

jquery ( http://jsoverson.github.io/plato/examples/jquery/ )
・grunt ( http://jsoverson.github.io/plato/examples/grunt/ )
・marionette ( http://jsoverson.github.io/plato/examples/marionette/ )

■インストール / 利用方法



インストール・利用方法も非常に簡単です。
※Node.jsはインストールされているものとします。



$ npm install -g plato
$ plato -r -d report src 


これで、srcディレクトリ内のjsファイルを解析し、reportディレクトリにレポート結果のHTMLが生成されます。report/index.htmlをブラウザで開くとレポートが確認できます。

「--jshint」でjshintのファイルが使用できたり「--exclude」で除外ファイル指定が行えたりします。全てのオプションは「plato --help」 で確認できます。

開発者が普段のコーディング中に適宜確認するのは、
以前「JavaScriptのコーディング規約を気軽にチェック ( http://blog.asial.co.jp/896 ) 」でご紹介しました、
Closure Linter、 Syntasticや 、jshint、jslintなどが使いやすいと思います。

今回ご紹介したplatoについては、
レビューのタイミングなど全体の状況を把握・改善するタイミングで活用できるのではないでしょうか。