ユースケース:リファクタリング

リファクタリングとは、ソフトウェアの外部の振る舞いを保ちつつ、内部の構造を改善していく作業のことです。
リファクタリングを実施することで、コードの可読性が良くなるだけではなく、修正が簡単になり、バグを見つけやすくなり、開発工数の削減に繋がります。

ここでは、Lattixのアーキテクチャを可視化する仕組みを用いたリファクタリングの方法についてご紹介します。

リファクタリングの関連資料はこちら>>

リファクタリングによる品質向上

リファクタリングは内部構造を改善する取り組みです。

課題

  • リファクタリングすべき箇所が特定できない
  • 周囲にリファクタリングの効果を説明できない

原因

アーキテクチャ設計が適切になされていない
例:設計者以外がアーキテクチャを理解できていないため、どこからリファクタリングをすべきか分からない

リファクタリングの効果を定量的に表現するのが難しい
例:ソースコードの修正はコストがかかるため、修正前にリファクタリングの効果を確認したい

解決策

Lattixは、Java、.NET、C/C++アプリケーションのアーキテクチャや、UML、SysMLのモデルを解析し、ソフトウェアの構造と依存関係を可視化する、アーキテクチャ分析ツールです。 リファクタリングすべき箇所が特定できない課題に対して、コードの構造を可視化し、構造上の問題点を把握、リファクタリングのシミュレーションを行います。

Lattixを使った、リファクタリングの手順の一部をご紹介いたします。

  1. 構造上の問題箇所を洗い出しリファクタリング対象を選定する
  2. 構造上の問題箇所に対して改修シミュレーションを行う
  3. リファクタリングの効果を確認する
1.構造上の問題箇所を洗い出しリファクタリング対象を選定する

ポイント
  • 設計意図に反する逆依存や循環依存など、構造上の問題点を検出
  • 優先的にリファクタリングする対象を選定

Lattixの利用

Lattixでは、ソフトウェアの構造や依存関係を階層構造によって可視化することができます。これにより、設計構造やアーキテクチャを加味した全体構造の把握が可能です。
ソースコードをLattixで分析しDSMで表示すると、逆依存や循環依存、ハブ構造といった、デグレードやエラーの要因となりうる構造上の特徴や問題点を検出できます。
リファクタリングを実施する際に、構造上の特徴や問題点を把握したうえでソースコードの修正計画を立てることにより、修正作業中の手戻り作業を防止でき、効率的なリファクタリングを行えるようになります。
2.構造上の問題箇所に対して改修シミュレーションを行う

ポイント
  • 構造修正の方法をLattix上でシミュレーション
  • シミュレーションの履歴を元にリファクタリングを実施

Lattixの利用

Lattixでは、DSM上でディレクトリ構造やモジュール化改善のシミュレーションを行うことができます。
ソースコードを実際に変更する前にLattix上で仮想的にリファクタリングを行い、構造的な問題が期待通りに解消・改善できるかを確認します。

3.リファクタリングの効果を確認する

ポイント
  • Lattix上での修正のシミュレーションやリファクタリングの効果を、LattixのDSMやメトリクスから確認する

Lattixの利用

シミュレーションの前後で、「1.構造上の問題箇所を洗い出しリファクタリング対象を選定する」と同様に、DSMから逆依存や循環依存といった構造上の問題点を可視化できます。
また、アーキテクチャメトリクスの値からリファクタリングの効果を確認し、リファクタリングの計画に役立てることができます。

関連資料のご案内

富士ゼロックス株式会社様

1000万行のコードと向き合う3つのステップ——富士ゼロックスはリファクタリングにどう取り組んでいるのか

ソフトウェアの大規模化の中で保守性を担保するために、ファイル分割などの大規模リファクタリングに取り組まれております。
事例ではLattixのDSMを使った分析とリファクタリングの計画の進め方についてご紹介をいただきました。

アーキテクチャ分析ツール Lattixに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
lattix-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。