レガシーコード
Michael Feathersが「単に古いコード」ではなく「テストのないコード」として定義した、変更結果を確かめる手段を欠いたコード。
- 概念URI
https://comcomponent.com/knowledge/legacy-code/
- 別名・表記
- Legacy Code
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- ゴールデンマスター法はレガシーコードに対する本記事の推奨です。出力の単位が大きいレガシーコードには、ゴールデンマスター法が最も費用対効果の高い特性化テストであるというのが本記事の推奨である / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- レガシーコードは退行リスクの原因になることがあります。テストのないレガシーコードでは、変更結果が正しいかを確かめる手段がないため、意図しない挙動変化(退行)に気づけないリスクがある / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- 特性化テストはレガシーコードに対する本記事の推奨です。仕様書がなくテストもないレガシーコードに安全に手を入れるには、まず特性化テストで現在の挙動を固定することが本記事の推奨である / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- 継ぎ目(seam)はレガシーコードに対する本記事の推奨です。UIイベントハンドラー直書きや現在時刻への直接依存のように、テストを差し込めない構造のレガシーコードには継ぎ目を作ることが本記事の推奨である / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- dotnet testコマンドはレガシーコードと両立しません。旧形式(非SDKスタイル)のcsprojが混ざったレガシーなソリューションでは、dotnet testコマンドが期待どおりに動かないことがある / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- vstest.console.exeはレガシーコードに対する本記事の推奨です。dotnet testが期待どおりに動かないレガシーなソリューションでは、vstest.console.exeを使う方法が代替手段として推奨される / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
この概念を扱う記事
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。