UCDetector

未使用のコードを検出したいと考えたことは無いだろうか。

Androidアプリケーションの配布サイズはそのパッケージ(.apk)に含まれるクラスとリソース(特に画像)に関連があるので、パッケージングする際にできるだけコードサイズはスリムにしておく必要がある。
現在開発中のライブラリィはJFC/Swing時代から使っているコードを多く含んでいるので、かなり無駄なコードがありそうなのだ。

  • UCDetector

UCDetector: Unnecessary Code Detector
UCDetector | freshmeat.net (コードリポジトリ)

UCDetectorはその名の通り、"Unecessary Code Detector"であり不要なコードを検出してくれる有り難いツールだ。

使い方は簡単。対象のプロジエクトから「UCDetector」→「Detsxt unnecessary code」で検出を開始するだけ。

プロジェクトのサイズにもよるが全てのコードを解析するためある程度時間が必要だが、解析が完了すると結果がビューに反映される。

このように、クラス、フィールド、メソッド毎に参照が0つまり現在は使われていないコードを検出してくれる。シンプルであり素晴らしい。※1

設定の画面も用意されており、検出の仕方等をカスタマイズすることもできる。

特にこの中にあるフィールドやメソッドのスコープをサジェストしてくれる項目※2は、(分かっていてあえてスコープを変えている)人によっては不要な警告が大量に出るので積極的にカスタマイズすべきだ。


※1:個人的にプラグインってのは1つに1機能だけってのが理想だと思う。
※2:同一ファイル(クラス)内にしかアクセスが存在しないので、privateスコープにしなさいとか言ってくれる。