振舞いと結果を自働評価
「振舞い」と「結果」を自働的に評価する
「④コードの変更」を実施した後、「⑤変更後のテスト」で振舞いが変わっていないことを確認します。下図はGoogle testフレームワークを使ったテストプログラムの例です。テストフレームワークでは、フレームワークが用意している仕組みを使って、単体テストを簡単に作成することができます。下図のように、フレームワークを使うことで、テスト結果も分かりやすく表示してくれます。
最終的に「⑥結果の評価」で「リファクタリング」の目標である保守性の問題が解決されていることを確認します。
⑤⑥の結果がNGだった場合は「②解決策の立案」もしくは「④コードの変更」に戻り、繰り返し「リファクタリング」を実施します。この繰り返しが煩わしいと、継続的に「リファクタリング」をしていく上で、大きなブレーキとなってしまいます。この煩わしさを解消するためには、CIフレームワークを使ったシステムで自働化することが有効です。
CIフレームワークを使ったシステムでは、「ビルド」「テスト」「静的解析」を自働的に実行することで、生産性を大幅に上げることができます。
冒頭で「リファクタリング」を踏みとどまらせている要因の一つとして「多忙」をあげました。本来「リファクタリング」は、日常的な開発の中で取り組むべきことです。できるだけ簡単かつ効率的に続けられる環境で実施することが、継続的に「リファクタリング」をしていくための大事なポイントといえます。
レガシーリファクタリングの関連サービス
適用支援
レガシーリファクタリング実施支援サービス
ソースコード診断による問題の把握から、あるべき姿への改善まで、設計技術支援とプロセス設計によって、レガシーコードの改善を総合的に支援します。
適用支援
要求仕様書作成サービス
「要求仕様書」を作成したいのに作成する工数が取れないといったお客様に向けて、エクスモーションが制御仕様書や機能仕様書などの既存資料の調査や開発者へのヒアリングを行って「要求仕様書」を作成します。
「リファクタリング」による品質改善についての理論を学び、問題発見・コードの変更・CIフレームワークを使ってのテストまでを実践する本格的トレーニングです。テスト自動化ツール「Google Test」とCIフレームワーク「Jenkins」を使用します。
頑張ってるけど、ちっとも楽にならない…何で?
すぐに成果を出すために頑張ってるけど、自前ではもう限界
効果的だろうけど高額なコンサルには手がでない…
あなたに合う一番最適な解決方法を
エクスモーションがご提案いたします。
レガシーリファクタリングに関する記事を見る
他のソリューションを見る
モデリング プロダクトライン開発
最新コラム
CASE時代に不可欠なサイバーセキュリティ& 機能安全
自動車産業における「CASE」は、便利さや効率性を向上させる一方で、セキュリティや安全上の問題を引き...
新しい事業の未来を左右するソフトウェア人財への実践的リスキリングとは
車載分野では自動運転やEV化などの技術革新やビジネスモデルの変化に対応するために従来のハード・メカ開...
プロダクトライン開発をアップグレードさせた『新たなプロダクトライン開発』でソフトウェアファースト時代に備える!
ソフトウェアを共通化する方法として、プロダクトライン開発がありますが、OTAを考慮するとプロダクトラ...
ソフトウェアファースト時代に不可欠な新たなプロダクトライン開発とは
自動車業界を中心に「ソフトウェアファースト」という言葉がもてはやされています。それは、目指すべき方向...