はじめに
使っていないコードを発見することはよく経験すると思います。
長い期間運用していると負債として、重くのしかかってきます。
しかし、人間の目視やコードレビューですべて発見するのは不可能です。
そのような問題を解消するための方法について、調べました。
Xcode
外部ツール
- ツールを使うことで不要なコードを簡単に見つけることができます。
- CIなどで実行すれば、不要なコードを見つけやすくなります。
- Swift製。Rulesのカスタムがしやすい。 長くメンテされている
Pecker - Swift製。Rulesのカスタムがしやすい
PaulTaykalo/swift-scripts - Rubyのスクリプトを使って、使われていないコードを検知します
peripheryapp
- 今回は一番使う
periphery
の使い方について説明します -
periphery v2.2.2
の環境で実行してます
導入
- Homebrewでインストール可能です
brew tap peripheryapp/periphery && brew install periphery
- Xcodeにターゲットを追加
- Other -> Aggregate を選択して、追加
- Build Phaseにスクリプトを追加
periphery scan --project ModalTest.xcodeproj --schemes ModalTest --targets ModalTest --format xcode
-
periphery
のスキームでBuildする
- 使っていないコードが
warning
として表示される
カスタマイズ
-
// periphery:ignore
のコメントを追加すると警告を無視できます- ノイズとなりそうな警告を消せます
- formatを変えて出力
-
xcode
,csv
,json
,checkstyle
の4つに対応しているのでCIなどで出力する際に便利です
-
まとめ
- 不要なコードは定期的に削除しておきたい
-
periphery
を使うと便利。CIで定期実行すると不要なコードを見つけやすくなる