• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

プログラムを楽に綺麗にしよう

プログラムを“美しく”する「SonarQube」とは

川上 真一=富士通 2017/05/16 日経SYSTEMS
出典:日経SYSTEMS 2016年8月号pp.55-56
(記事は執筆時の情報に基づいており、現在では異なる場合があります)
目次一覧

 多くのバグが発見されて、いつまでたっても結合テストが収束しない―。筆者は過去、何度かこういう状況に遭遇した。この状況で多発するバグはたいていの場合、設計工程ではなくプログラミング工程(以下、実装工程)に起因するものだった。

 実装工程中のコード品質チェックは「ソースコードレビュー」「単体テスト」「単体テストケースおよび結果のレビュー」といった流れで進める。これらを徹底できれば品質が向上するものの、種々の理由から「徹底は難しい」という現場をよく見る。大きな理由の一つが、レビューアーの負担が大きいことだ。レビュー作業は経験やスキルに依存するため、高スキルの技術者が必要になる。大規模開発では高スキル技術者を多く確保する必要が出てくるが、現実には厳しい。

 問題解決手段の一つが「実装工程中のコード品質を可視化してWeb上で共有できる仕組み」の導入だ。筆者のチームではこれを「コード品質共有システム」と呼んでいる。これを利用した実装工程のコード品質維持プロセスは、次のようなものになる(図1)。

図1●コード品質維持プロセス
コード品質共有システムの支援を得ることで、コード品質維持プロセスがよりスムーズに回る
[画像のクリックで拡大表示]

(1)プログラミング
プログラマーがプログラミングを行う。

(2)品質チェック
コード品質共有システムやレビューアーがコードのレビューを行う。

(3)フィードバックと共有
コード品質共有システムやレビューアーが、問題点の指摘と是正策をプログラマーに対してフィードバックをする。ほかのプログラマーに対しても情報を共有する。

(4)スキルアップ
プログラマーは共有された問題点の指摘と是正策を学習する。スキルアップしたプログラマーはふたたび(1)のプログラミングに戻る。

 上記のポイントは(2)と(3)の作業の一部をシステムが代行し、レビューアーの負担を軽減することだ。これにより、少数のレビューアーでも大きな効果を得られるようになる。もちろん、すべての問題点をシステムが指摘できるわけではない。コードレビューの観点は「実装技術に関する観点」と「設計に関する観点」の大きく二つがある。システムに任せるのは、実装技術に関する観点の方だ。

ここから先はITpro会員(無料)の登録が必要です。

次ページ 実装技術に関する観点は、「変数名や関数名が命名規...
  • 1
  • 2
  • 3

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る