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 |
|
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