Snowflower Metrics 概要

Snowflower Metrics はソースコードのメトリクス測定ツールです。 このツールを導入することで、 ソフトウェア開発者の経験に依存せずに効果的に素早くリファクタリング・ポイントを見つけることができます。 このアプリケーションはソースコードの高品質化を力強く支援します。

ソフトウェア品質向上のアクティビティ
リファクタリングとはソフトウェアの外部的な振る舞いを保ったまま ソフトウェアの内部構造を改善することです。 リファクタリングにより、コードの可読性の向上やテストのしやすさに繋がります。

リファクタリングは重要な作業ですが、 膨大なソースコードからリファクタリング・ポイントを自力で見つけることは簡単ではありません。 このツールを導入すれば、開発者は膨大なソースコードの読み取りから解放され、 メトリクスの定量化よって優先順序の判断をしてリファクタリングを計画的に進めることが可能になります。

ソフトウェア・メトリクスの導入意義

ソフトウェアメトリクスによりソースコードの開発とテスト中に潜在的な問題を特定できます。 問題を早期に特定して修正することで、ソフトウェアの信頼性、保守性を向上させることができます。 開発中にテストの取り組みをどこに集中させるかを判断できます。

また、オープンソースまたはサードパーティのソフトウェアをレビューしている場合は、 これらのソースコードの品質を素早く調査できます。 ソフトウェア品質基準を満たしていることを保証するためにも使用できます。

ソフトウェア・メトリクス

Snowflower Code Merics は特にソフトウェア工学のフィールドワーク研究によって 有効性の根拠のあるメトリクスを厳選して採用しています。 次のメトリクスをサポートしています。

  • 複雑度メトリクス

    • CC (Cyclomatic Complexity)

    • WMC (Weighted Methods per Class)

    • NPath Complexity

  • サイズメトリクス

    • SLOC (Source Lines of Code)

    • PLOC (Physical Lines of Code)

メトリクス利用目的

Cyclomatic Complexity

  • 単体テストの規模(C1:分岐網羅率)の見積もり

  • 変更時の障害発生率の予測

NPath Complexity

単体テストの規模(C2:条件網羅率)の見積もり

SLOC

バグ密度の母数の測定

Snowflower Metrics の特徴

  • プログラミング言語に依存しないメトリクスのための統一ユーザ・インタフェースを提供します。 したがって、プログラミング言語毎に異なる分析ツールの使い方を学習する必要はありません。

  • サーバーなしにスタンドアローンで動作します。 開発者はメトリクス測定とリファクタリング作業の繰り返しを最大に高速化できます。

豊富なプログラミング言語のサポート

Snowflower Metrics は プログラミング言語の構文解析によってソフトウェア・メトリクスを正確に測定します。 比較的新しい人気の言語を含む多くのプログラミング言語をサポートしています。

次は複雑度メトリクスに対応するプログラミング言語の一覧です。

  • C

  • C++

  • C#

  • Dart

  • Groovy

  • Java

  • JavaScript

  • ObjectiveC

  • Python

  • Rust

  • Scala

  • Swift

  • TypeScript

次はサイズ(規模)メトリクスに対応するプログラミング言語の一覧です。

  • C

  • C#

  • C++

  • CSS

  • Dart

  • Fortran

  • FreeMarker

  • Go

  • Groovy

  • Java

  • JavaScript

  • JSP

  • Kotlin

  • Lua

  • ObjectiveC

  • Perl

  • PHP

  • PL/SQL

  • Python

  • Ruby

  • Scala

  • Rust

  • Swift

  • TypeScript

  • Velocity

Download on the Mac App Store