タグ「CheckStyle」 の検索結果(1/1)

2011年12月 1日

AndroidとCheckstyle

○Android Advent Calendar 2011

本エントリは、「AndroiderでAdvent Calendarやろうぜ!」という、Android Advent Calendar 2011企画中の1エントリになっております。

初日から割としょっぱい感じのエントリになってしまってすいません。きっと本日以降、他の方々は僕と違って素敵なエントリが並ぶと思いますのでぜひお楽しみに!

○Checkstyleって?

Java向けの「静的解析ツール」というやつで、設定したコーディング規約に沿わない箇所を検出したり、さらにはロジック上の矛盾を検出してくれたりするツールです。

20111129_checkstyle.jpg

そんなCheckstyleの設定XMLを、AOSPのformatterとセットの前提でAndroid向けにチューンした形でうまく作れないかな...と思ったのですが、結論としてはイマイチな感じになってしまいました。

○結論:環境にあわせて要カスタマイズ

とりあえず成果を以下に。
zip内にformatterとcheckstyleのxmlが含まれていますので、readmeを参照しながらEclipseで適用してみてください。
formatter_checkstyle.zip

参考にしたサイト:
Checkstyleのカスタムルール作成と共有:souta-bot log
http://d.hatena.ne.jp/souta-bot/20090617/1245256801

Android CheckStyle設定:memorandum
http://ksoichiro.blogspot.com/2011/05/android-checkstyle.html

○考察

・コンセプトは「守らざるを得ないぐらいゆるゆるルール」だったのですが、Javadocすごい大事ケースとそうでもないケースを1個のCheckstyle設定でまかなうのが厳しいです。
・「シングルトンインスタンス」とか「自明でコメント不要なJavadocパラメータ」等、違反とはしたくないイレギュラーパターンがそこそこ多く、修正を必須にするにはちょっと苦しい結果に。
・1回設定すれば自動で修正まで適用されるformatterと比較して、違反コメントから具体的にどう直すべきかが分かりにくいCheckstyleは適用コストが...。
・少々厳しい、付属のルールを1回かけて、必要なところのみ対応したり、ファイルヘッダ・クラスヘッダ・パッケージヘッダ等、忘れやすいところを中心にサポートする等の、適切な使い方を選択することがキモだと思われます。


以下、上記アーカイブのreadmeより、作成手順を抜粋。

続きを読む "AndroidとCheckstyle"