- Meguro.rb #8 のLT資料です
自己紹介
- GitHub: tackeyy
- Twitter: 3cche
- Blog: http://tackeyy.com/
今日お話する内容
- きっかけ
- 未使用のコードを発見するための仕込み
- コードの削除 & デプロイ
- はまったところ
- まとめ
きっかけ
refs: muramurasanさんのRailsで効率的かつ安全に未使用のメソッドを削除した
要約すると・・・
- Rubyは動的にメソッドを呼び出せるので静的解析・動的監視で未使用コードを炙りださないといけない
- 静的解析 + 実際にメソッドが呼ばれているかのロギングを自分でやるのはだるいし本番のコードを汚染する
- そこで okuribito_rails を使おう!
未使用のコードを発見するための仕込み
静的解析
- debride
- 未使用の可能性のあるメソッドを抽出してくれる
動的監視
- okuribito_rails
- 監視対象のメソッドを定義したymlをおいておくとmethod callの度にカウントしてくれる
コードの削除 & デプロイ
1ヶ月ちょっと寝かせた後に動的監視でも呼ばれていないメソッドを削除していった結果・・・
最終的に49.6%で終わり。
— 3chhe (@3chhe) 2017年7月22日
(´-`).。oO(不要なコードありすぎてわろた
はまったことろ
- インデックス名がながくてokuribito_railsのmigrationがこける
- okuribito_railsのWebUIに速度をもとめないのでいったんインデックスを削除して対応
- okueibiro_railsを入れてからきちんとテストしないエラーになるケースがある
- 自分のリポジトリにフォークしてきてコードを修正 or ymlを整理
まとめ
- okuribito_rails便利