1. HOME
  2. ソリューション
  3. レガシーリファクタリング

レガシーリファクタリング

問題だらけのレガシー開発を救済する上で欠かせない技術が一つが、この『リファクタリング』です。しかし、ポイントを押さえずに「リファクタリング」してしまうと、実施したこと がすべて無駄に終わってしまいます。ここでは、失敗しない「リファクタリング」のポイントと進め方について説明します。

長期間にわたる保守により劣化したコード...分かっているけど手が出せない

現在の組込みソフトウェア開発の現場は、多くの製品バリエーションと短い周期でのバージョンアップに追われています。長期間、保守されてきたコードは、多くの人が追加修正し、今では「なぜこうなっているのか?」誰も説明できないコードも数多くあります。今のコードを使い続けるべきか、一度捨てて再構築するのか...グローバルに競争が激化した今の経営環境では、再構築を選ぶ余地はなく、大規模あるいは小規模な「リファクタリング」を続けながら、少しずつコードを改善し、状況も改善していく...それが唯一残された道と言えます。

しかし、「リファクタリング」への一歩を踏み出すのは、容易なことではありません。その理由としては、次の3つがあげられます。

  • 開発に忙しく、時間が取れない
  • 「リファクタリング」するためのノウハウがない
  • 検証に不安がある

確かに、これらの問題を解決しないと、改善のつもりが逆に大やけどを負ってしまう可能性も捨てきれません。

ここでは、上記のような問題を解決するための、「リファクタリング」のポイントについて説明します。

「リファクタリング」の進め方のポイント

「リファクタリング」は、通常の開発とは進め方が異なります。具体的には、下図にあるような進め方になります。ポイントとしては次の4点です。

「派生開発」で肥大化・複雑化したシステムを救済するために欠かせない「リファクタリング」の失敗しないためのポイントと進め方

01

問題の発見

問題の発見と評価は客観的な解析方法を用いる

02

解決策の立案

経年劣化を防ぐものなので、抜本的な原因分析は行わずに、解決策の立案を行う

03

変更前のテスト

コード変更の前後で振舞いが変わっていないことを保証する

04

解決策の実施・
変更後のテスト

日常的な活動として「リファクタリング」を実施できるよう効率化する

コンサルタントが教える成功の秘訣

シニアスペシャリスト 玉木淳治

品質が低下したレガシーコードの保守に頭を悩ませる開発現場のエンジニアは、みなさまざまな問題認識を持っています。問題を改善していくためには、現場での困りごとを発生させる要因となっているソフトウェア設計上の問題を、客観的事実による裏付けとともに明らかにしなければ、大きな改善効果は望めないのではないでしょうか。

「レガシーシステム」の可視化と改善のサービスでは、ソースコードの調査と現場エンジニアへのヒアリングを通し、設計の問題点を把握することからスタートし、ソフトウェア構造のあるべき姿を設計する支援や、「リファクタリング」を進めるためのプロセス設計・運用の支援まで、ソースコードの改善をトータルに支援いたします。

レガシーコードの品質にお困りの方は、ぜひ私たちにご相談ください。

玉木淳治

レガシーリファクタリングの関連サービス

適用支援

レガシーリファクタリング
実施支援サービス

ソースコード診断による問題の把握から、あるべき姿への改善まで、設計技術支援とプロセス設計によって、レガシーコードの改善を総合的に支援します。

適用支援

要求仕様書作成サービス

「要求仕様書」を作成したいのに作成する工数が取れないといったお客様に向けて、エクスモーションが制御仕様書や機能仕様書などの既存資料の調査や開発者へのヒアリングを行って「要求仕様書」を作成します。

「リファクタリング」による品質改善についての理論を学び、問題発見・コードの変更・CIフレームワークを使ってのテストまでを実践する本格的トレーニングです。テスト自動化ツール「Google Test」とCIフレームワーク「Jenkins」を使用します。

頑張ってるけど、ちっとも楽にならない…何で?

すぐに成果を出すために頑張ってるけど、自前ではもう限界

効果的だろうけど高額なコンサルには手がでない…

あなたに合う一番最適な解決方法を
エクスモーションがご提案いたします。

レガシーリファクタリングに関する記事を見る

他のソリューションを見る

最新コラム