レガシーリファクタリング
問題だらけのレガシー開発を救済する上で欠かせない技術が一つが、この『リファクタリング』です。しかし、ポイントを押さえずに「リファクタリング」してしまうと、実施したこと がすべて無駄に終わってしまいます。ここでは、失敗しない「リファクタリング」のポイントと進め方について説明します。
長期間にわたる保守により劣化したコード...分かっているけど手が出せない
現在の組込みソフトウェア開発の現場は、多くの製品バリエーションと短い周期でのバージョンアップに追われています。長期間、保守されてきたコードは、多くの人が追加修正し、今では「なぜこうなっているのか?」誰も説明できないコードも数多くあります。今のコードを使い続けるべきか、一度捨てて再構築するのか...グローバルに競争が激化した今の経営環境では、再構築を選ぶ余地はなく、大規模あるいは小規模な「リファクタリング」を続けながら、少しずつコードを改善し、状況も改善していく...それが唯一残された道と言えます。
しかし、「リファクタリング」への一歩を踏み出すのは、容易なことではありません。その理由としては、次の3つがあげられます。
- 開発に忙しく、時間が取れない
- 「リファクタリング」するためのノウハウがない
- 検証に不安がある
確かに、これらの問題を解決しないと、改善のつもりが逆に大やけどを負ってしまう可能性も捨てきれません。
ここでは、上記のような問題を解決するための、「リファクタリング」のポイントについて説明します。
「リファクタリング」の進め方のポイント
「リファクタリング」は、通常の開発とは進め方が異なります。具体的には、下図にあるような進め方になります。ポイントとしては次の4点です。
問題の発見と評価は客観的な解析方法を用いる
経年劣化を防ぐものなので、抜本的な原因分析は行わずに、解決策の立案を行う
コード変更の前後で振舞いが変わっていないことを保証する
日常的な活動として「リファクタリング」を実施できるよう効率化する

コンサルタントが教える成功の秘訣
スペシャリスト 玉木淳治
品質が低下したレガシーコードの保守に頭を悩ませる開発現場のエンジニアは、みなさまざまな問題認識を持っています。問題を改善していくためには、現場での困りごとを発生させる要因となっているソフトウェア設計上の問題を、客観的事実による裏付けとともに明らかにしなければ、大きな改善効果は望めないのではないでしょうか。
「レガシーシステム」の可視化と改善のサービスでは、ソースコードの調査と現場エンジニアへのヒアリングを通し、設計の問題点を把握することからスタートし、ソフトウェア構造のあるべき姿を設計する支援や、「リファクタリング」を進めるためのプロセス設計・運用の支援まで、ソースコードの改善をトータルに支援いたします。
レガシーコードの品質にお困りの方は、ぜひ私たちにご相談ください。

頑張ってるけど、ちっとも楽にならない…何で?
すぐに成果を出すために頑張ってるけど、自前ではもう限界
効果的だろうけど高額なコンサルには手がでない…
あなたに合う一番最適な解決方法を
エクスモーションがご提案いたします。
レガシーリファクタリングに関する記事を見る
他のソリューションを見る
モデリング プロダクトライン開発
関連コラム
「派生開発」を続けながら、自動車の機能安全規格「ISO26262」に対応する時のポイント
機能安全規格「ISO26262」への準拠に向けて、自動車メーカーや部品メーカーでの対応も佳境を迎えて...
Simulinkモデルの品質劣化を防ぐ品質改善手法(リファクタリング)
MATLAB/Simulinkモデルを使った開発では、制御ロジックの再利用率が高くバリエーションが多...
SPL(ソフトウェアプロダクトライン)化で「派生開発」の効率化
近年のユーザニーズの多様化、国際的な競争の激化等で、組込み製品のバリエーションは増える一方です。そし...
SimulinkモデルにおけるSPL(プロダクトライン開発)可変点の設計・実装テクニック
可変性の実現(可変点の設計・実装) コア資産は、スコープに含まれる複数の製品での利用を想定して開発さ...