アプリケーション開発・管理・運用

ソースコード解析自動化ツール4選、GitHubと連携するメリットも解説

複数人で、継続的にサービスの開発を行っていくとしたらソースコードの品質維持は欠かせません。そのために、ソースコード解析を確実に、そして正確に実行することがとても大切です。しかし、自力でソースコード解析を行おうとすると、エディターやIDE(Integrated Development Environment:統合開発環境)といった環境は開発者によって異なりますし、パソコンによって環境が変わる場合もあります。

そうした中でソースコード解析を確実・正確に行うためには、ソースコード解析自動化ツールを利用することが一般的です。ソースコード解析自動化ツールを利用すると複数人が異なる開発環境を使いつつ、ソースコードの品質を維持・向上することが可能です。

本稿では、無料から使えるソースコード解析自動化ツールのSideCI、Codacy、Scrutinizer、Houndの4つをご紹介します。それに加え、GitHubと連携するメリットについても解説します。

ensure-for-source-code-analysis

※ソースコード解析自動化ツールは、あくまでサービスやプロダクトの開発を効率良く目指すためのツールであり、コンパイラなどとは違います。ソースコードに対するすべてのメッセージを受け入れるのではなく、改善のためのヒントと捉えて、必要とあれば無視したり設定を変更したりもします。

アプリケーション開発における課題別の解決方法とは? 〜Azureを導入するメリットも紹介〜

ソースコード解析自動化ツール4製品の特徴

Sider

ソースコード解析自動化に特化したツールであり、本稿で紹介している4つのツールの中では唯一日本語に対応しています。ユーザー・インターフェースや解析結果の一部を日本語で表示できるので、英語が苦手という方でもレビューを理解できます。ちなみにGitHubでのサインインが可能なので、GitHubアカウントを所持している方はすぐに利用できます。

料金体系はフリープランと月額12ドルのスタンダードプラン、オンプレサポートも提供しているエンタープライズプランの3つです。

Siderは国産ツールということもあり、やはり日本語対応に強いのが魅力です。特に、ソースコード解析自動化ツールは、開発者全員にとって「使いやすい」「わかりやすい」が重要であり、全員が積極的に使用するか、メッセージを適切に判断できるかといったことがソースコードの品質にかかわります。ソースコード解析以外の機能はありませんが、その分使いやすさがあり、解析速度も快適です。

Codacy

Codacyはクラウド上でソースコード解析自動化が行えるツールの1つです。レポートの数の推移をグラフ表示したり、ダッシュボードでプロジェクトの様子を確認することもでき、クラウドサービスだけではなく独自サーバー上で動作させるエンタープライズプランも提供しています。こちらもGitHubアカウントを使ったサインインが行えます。

グラフ表示の見栄えが良く、独自サーバーへのインストールが可能などエンタープライズ用途での使い勝手が良いツールです。料金体系は無料で使えるスタートアッププラン、月額15ドルのプロプラン、カスタム仕様のエンタープライズプランです。

Scrutinizer

Scrutinizerは継続的なインテグレーションと、ソースコード解析が行えるツールです。こちらもGitHubアカウントでのサインインが可能となっています。Scrutinizerは継続的インテグレーションとソースコード解析の両方を1つのツールで利用できるのが便利な点ですが、その分、機能が複雑になっているという難点もあります。

料金体系は月額49ユーロのベーシックプラン、月額99ユーロのプロフェッショナルプラン、それと月額199ユーロのアンリミテッドプランです。

Hound

HoundもGitHubアカウントでのサインインが可能なソースコード解析自動化ツールであり、自動化に特化したサービスです。Rubyの開発やgemで有名なThoughtbotが提供しています。ちなみにHoundはRuby on Railsで作られており、オープンソースとしても公開されているので、自分でインストールすることも可能です。

本稿で紹介しているソースコード解析自動化ツールの中では最もシンプルなツールであり、解析結果はGitHub上にコメントとして表示されるので、Houndサイトに移動する必要がなくGitHub上で完結します。ただし、警告数が多くなると大量のコメントがプルリクエスト上に表示されるため、分かりにくくなる場合もあります。

利用できるツールは限られており、設定もすべて設定ファイルで行う必要がありますが、ソースコードが公開されているので自由にカスタマイズすることも可能です。料金体系は月額49ドルのチワワプラン、月額99ドルのラブラドールプラン、月額249ドルのグレート・デーンプランです。

※価格など最新の情報は各社のサイトをご確認ください。

Microsoft Azureとは何か?入門から応用まで徹底解説

クラウドとは何か?Azureとは何か?導入のメリットや構成、コストに至るまでの基礎的な知識から、どのように活用すべきかまでを徹底的に解説しています。

Microsoft Azureとは何か?入門から応用まで徹底解説

ブログ記事を見る

ソースコード解析自動化ツールをGitHubと連携するメリットとは

世界中の開発者が利用する、ソースコード管理および共有のためのツールであるGitHub(ギットハブ)は、オープンソースのバージョン管理システムGit(ギット)をベースにしたホスティングサービスです。まだ使ったことがないという方のために簡単に解説すると、GitHubがあるチーム開発環境では、自分が作成したソースコードを他の開発者に素早くレビューしてもらえたり、1つの開発環境から複数の分岐環境を作ったりして、アジャイル的なサービス開発を進めることができます。

GitHubの中でも人気の機能がプルリクエストです。他の開発者にソースコードレビューを依頼する際に、変更箇所を分かりやすく表示してくれるため、レビュアーも迷わず作業を行うことができます。

そんなGitHubとソースコード解析自動化ツールを連携するメリットは、やはり開発効率が格段にアップするという点でしょう。GitHubだけでも今までの開発スピードを速めることはできますが、そこにソースコード解析自動化ツールがあると、開発者ごとの開発環境に依存せず、ソースコード解析を自動的に行うことができるため、更なる開発スピードのアップとソースコード品質の維持・向上が期待できます。

さらに、いずれのソースコード解析自動化ツールも一部の機能をオープンソースで提供しており、必要に応じて独自仕様にカスタマイズすることができます。ソースコード解析を自動化し、開発チーム全体が同じように解析を行えるような環境を整えられれば、サービスやプロダクトに今までに無かった付加価値を付けることも可能でしょう。

本稿で紹介した4つのソースコード解析自動化ツールと同じように、GitHubも無料からつ開けるクラウドサービスです。無料ではプライベートリポジトリを作成することはできませんが、GitHub独自の機能を存分に体感することができます。世界中の開発者のソースコードを参照することもできるので、開発効率は飛躍するでしょう。

  • fb-button
  • line-button
  • linkedin-button

無料メルマガ

RELATED SITES

関連サイト

CONTACT

サイト掲載の
お問い合わせ

TOP