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