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