AtScopeの基本機能
AtScope(アットスコープ)は、C言語のソースコードから様々な構造図を出力するツールです。
C言語の入っているフォルダを指定することで、以下の構造図を出力できます。
- ①フォルダ単位のコンポーネント構造図
- ②ファイル単位でのクラス構造図
- ③関数とデータのモジュール構造図
また、設計構造の得点化機能もございます。
- ④リファクタリングスコア
AtScopeが解決したいこと
- シンプルで美しいソースコードを作り、ソフトウェア資産化します。
- その結果、開発のスピードアップと品質の安定がもたらされます。
- エンジニアは“もっと速く、もっと楽に”開発を進めることができます。

AtScopeの3つの機能+1
- アーキテクトのための、ソフトウェア全体を俯瞰する『アーキテクチャ解析』
- エンジニアのための、ファイル単位の入出力を設計する『クラス解析』
- データアクセスのきわどい部分を推測する『モジュール解析』
- ソースコードのリファクタリング度を示す『リファクタリングスコア』

設計意図を発掘する その1:コンポーネント単位
- コンポーネント図やクラス図は、配置を変えることで、設計の意図や設計上の課題が見えてきます。
- 下の例は、アプリ層・ミドル層・ドライバ層による垂直レイヤリングと、システム全体およびUI部の垂直パーティショニングをした例です。

設計意図を発掘する その2:クラス単位
- ファイル単位の入出力を図面化します
- ●印が、ひとつのファイルになります
- 赤線が双方向依存、色付きの●が大きなファイル、を示しており、それぞれリファクタリング候補になります
- 再配置することで、設計の意図が浮き上がります

設計意図を発掘する その3:モジュール単位
- 変数を指定して、そのアクセスを遡ります
- 変数のカプセル化の状況と異なるスレッドからの衝突が見えてきます

リファクタリングスコア
- ソースコードの構造的な視点で点数化を行います
- リファクタリングのbefore/afterでの改善度合いや、機能追加修正による徐々に複雑化していく度合い を把握することができます