🐕

Code Climateでコードの品質管理

2022/11/02に公開

はじめに

sweeep株式会社エンジニアの五十嵐です。
この記事ではソースコードの読みやすさをロジカルに算出できるツールを試してみたいと思います。

Code Climate

今回使うのはCode Climateです。
Code Climateはコードの品質を自動でスコアリングしてくれるサービスです。
公式サイトはこちら
https://codeclimate.com/
Code Climateを導入することで決められたメトリクスの中ではあるものの、一定の品質を保つことができるようになり、非エンジニアにもざっくりと品質の理解が可能になりそうです。

ではどのような項目でコードを分析しているのでしょうか。

  • 引数の数
  • 複雑なロジック
  • ファイル行
  • メソッドの複雑さ
  • メソッド数
  • メソッドの長さ

などがあるようです。
また、閾値は設定ファイル(.codeclimate.yml)で自由に設定することができるようです。
詳しくは以下の公式ドキュメントをご参照ください。
https://docs.codeclimate.com/docs/default-analysis-configuration#section-maintainability-checks

記事公開の時点では以下の言語に対応しているようです。

  • Ruby
  • Python
  • PHP
  • JavaScript
  • Java
  • TypeScript
  • GoLang
  • Swift
  • Scala
  • Kotlin
  • C#

実際に使ってみる

Code Climateの登録や使い方などについては、ここでは触れてませんので以下docsなどをご参照ください。
https://docs.codeclimate.com/

では早速以下のコードで引数の数をCode Climateで分析していこうと思います。

func main() {
	test(1, 2, 3, 4, 5)
}
func test(a int, b int, c int, d int, e int) {
	fmt.Println(a)
	fmt.Println(b)
	fmt.Println(c)
	fmt.Println(d)
	fmt.Println(e)
}

以下がCode Climateの分析結果を確認することが出来る画面です。
MAINTAINABILITYにスコアが表示され、そしてCODE SMELLSの下に1と表示されています。
codeClimate

CODE SMELLSの数字をクリックするとissuesのタブへ遷移します。
すると臭うコードとそのコードが存在する行数が表示されます。
codeClimate2
また、Trendsのタブでは技術負債がどれくらい溜まっているかグラフで表示してくれる機能もあるようです。

さいごに

CODE CLIMATEを使うことである一定の品質を保つことができて、改修すべき箇所が明確に分かるのでリファクタもしやすくなるのかなと思いました。
privateリポジトリでなければ無料で使えるので気になる方は一度試してみてください。

最後に、弊社では絶賛エンジニア募集中なので、気になる方は以下を覗いてみてください!
https://www.wantedly.com/companies/sweeep/projects

Discussion