Code Climate
Code Climate というサービスがある
対応する言語
そのほかにも C#, Scala, Kotlin に今後対応していくらしい
(Supported Languages for Maintainability)
機能
メンテナンス性の解析
GitHub リポジトリと連携して コードを解析し、その重複の有無や複雑さ (≒キレイさ/汚さ)を測定してくれるというもの
メンテナンス性の指標として 高い順に A, B, C, D... とアルファベット順で評価される (A から F まで : Maintainability)
このメンテナンス性の指標は継続的に記録されていて、「このファイルはメンテナンス性が D から A に変わったよ」といった状態の変化を見ていく事が出来る (Progress)
そのほかの解析・機能
そのほかにも
といったことを解析してくれる (それぞれ Rubocop, Brakeman, Reek, simplecov との連携)
このメンテナンス性の解析といった領分について、GitHub Pull Request 内では; レビューコメントを書く (GitHub Pull Requests # Inline Issue Comments),「メンテナンス性が下がったので PR を取り込むのに問題があります」と指摘 (GitHub Pull Request # Pull Request Statuses) といったこともしてくれるようだ
まとめ
Code Climate が継続的に解析・可視化してくれるので、「このファイルのコードのメンテナンス性低すぎて危なっかしいから いまはコレを優先して修正していこう」といった予定を立てやすくなる
継続的インテグレーション (Wikipedia) の考えを取り込んだサービスを通じて、常にメンテナンス性の高いコードを書いていけるようになりたい
Bonus Tips
他に この「継続的にコードを解析」といった観点を持つサービスに、Sider, Hakiri といったサービスなどがある
Links
- Boost your engineering capacity | Code Climate
- Code Climate Docs
- Sider - Automated Code Review for GitHub (SideCI → Sider に名称変更 : 2018年6月13日)
- Hakiri: Ruby and Rails Security