リファクタリング

リファクタリングとは、ソフトウェアの外部の振る舞いを保ちつつ、内部の構造を改善していく作業を指します。 リファクタリングを実施することで、コードの可読性が良くなるだけではなく、修正が簡単になり、バグを見つけやすくなり、開発工数の削減に繋がります。 ここでは、Lattixのアーキテクチャを可視化する仕組みを用いたリファクタリングの方法についてご紹介します。

課題

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

原因

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

  • 動作しているプログラムのデグレードが怖い
    例:リファクタリングの必要性は理解しているが、いきなりシステムを変更することは抵抗がある

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

解決策

リファクタリングすべき箇所が特定できない課題に対して、
コードの構造を可視化し、構造上の問題点を把握、リファクタリングのシュミレーションを行います。

  1. ソフトウェアの構造や依存関係を可視化する
  2. 構造上の問題箇所を洗い出しする
  3. 問題箇所に対して改修シュミレーションを行う

1.ソフトウェアの構造や依存関係を可視化する

Lattixの利用

Lattixにおいてソフトウェアの構造や要素間の依存関係は階層構造によって表現されます。階層を折りたたんだ状態にすることで、より抽象的な粒度(たとえばコンポーネントやパッケージ)で、ソフトウェア全体を俯瞰することが可能です。

ソフトウェアの構造や依存関係をスケーラブルに可視化

 

2.構造上の問題箇所を洗い出しする

Lattixの利用

ソースコードをLattixで分析しDSMで表示すると、デグレードやエラーの要因となりうる構造上の特徴や問題点を確認できます。ソースコードを修正する際に、構造上の特徴や問題点を把握したうえでソースコードの修正計画を立てることにより、修正作業中の手戻り作業を防止でき、効率的な作業を行えるようになります。

多くのファイル・関数から参照され、多くのファイル・関数を参照しているハブ構造


dsm2


他の要素から使用されていないデッドコード


3.問題箇所に対して改修シュミレーションを行う

Lattixの利用

DSMでレイヤー構造をまたぐ逆依存や循環依存を検出した上で、構造改善のシミュレーションを行います。
ソースコードを実際に変更する前にLattix上で仮想的にリファクタリングを行い、構造的な問題が期待通りに解消・改善できるかを確認することができます。

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

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

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

    03-4405-7853

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

お問い合わせ

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