レガシーコード・クリニック
~設計意図のわからない古いコードを恐る恐る流用・拡張していませんか?~
ソフトウェアの開発はまだまだ歴史の浅いフェーズにあります。今日のソフトウェア開発は接続性の向上やセキュリティリスクの増加に伴い、企業は様々な開発プロセスや検証技術を取り入れて信頼性や生産性を向上しています。
しかし、企業の持つノウハウとなるべき資産といえるソフトウェアががそのような開発プロセスが確立される前に開発され、既にコードの中身全体を把握している者もいなくなり、「動いているコードが正しい」という理屈に頼りながら派生開発が進められてはいないでしょうか?
テストが行われていない、メンテナンスがされていないコードを「レガシーコード」と呼びます。
それは本当に今日の高機能化やリスク増加に耐える構造を持ったコードでしょうか?
レガシー・コード・クリニックではその様な企業のレガシー・コードに対して、解析・診断・検証を実施し、レガシー・コードを企業の持つ「資産」への転換を計ります。
レガシーコードクリニックはこんなこんな方におすすめ
マッチ度: 4.5かなり昔に作成したコードを使い続けているが、ドキュメントが残っておらず中身を完全に理解している人はいない。
マッチ度: 4.0機能追加、変更の際の影響範囲がつかみきれておらず、後になって問題が起こりがち
マッチ度: 4.0思い切ってコードをリファクタリングしたいが進め方がよくわからない。互換性の確認
作業が膨大になりはしないか? アセンブラコードも移植性の高い言語に直したい。
マッチ度: 4.0静的解析ツールを行ってコードの解析を行ったが、問題が出過ぎてどこからどう対応していい
かわからない。
コード解析
- コード構造を把握して戦略的活用へと転換
コード解析によりドキュメントを作成します。- APIドキュメント
- ソフトウェア構造図
- 状態遷移図
- 品質スコアの提示
コード検証
- テストを実施して堅牢性を検証
- 単体テスト実施し、C0またはC1カバレッジ検証
- 流用開発向けに品質を担保する結合テスト実施
- テストの実施による問題点の指摘と改善提案
- リファクタリング実施時には互換性検証
- 既に静的解析を実施している場合はトリアージを行い対応計画立案
リファクタリング
- ソフトウェア構造を見直し、流用開発に強いコードへ!
- コード解析後により良い構造の提案
- ご相談しながらの部分ー全体リファクタリング
- 改編前ー改編後のコードで互換性テスト実施
★ 最新のツール活用+コード解析専門の技術者の連携で問題解決・整理のお手伝い。
★ テスト + レビュー によるコードの検証
★ 関数をドキュメント化し再利用できる資産へ
★ コンポーネントとその依存関係を図式化し再利用可能な資産へ
★ アセンブラコードをC言語に書き直し
★ 移植・更新前後の新旧プラットフォーム上で各々ユニットテストを行い 互換性を検証