Main Content

codeCompatibilityReport

コードの互換性レポートの作成

説明

codeCompatibilityReport は、現在の作業フォルダーとサブフォルダーについてコードの互換性レポートを作成します。コードの互換性レポートは、MATLAB® Web ブラウザーに開きます。MATLAB の新しいバージョンにアップグレードした後、このレポートを使用して、既存のコードの潜在的な互換性の問題を特定できます。

MATLAB コード アナライザーによって実行されるすべてのチェック (互換性の問題のチェックを含む) のリストは、こちらIndex of Code Analyzer Checksにあります。

codeCompatibilityReport(names) は、names で指定されたファイルまたはフォルダーのレポートを作成します。

codeCompatibilityReport(___,'IncludeSubfolders',tf) は、サブフォルダーについてレポートするかどうかを指定します。既定では、サブフォルダーは解析に含まれます。この構文は、前述の構文にある任意の引数を指定して使用します。

codeCompatibilityReport(cca) は、CodeCompatibilityAnalysis オブジェクトとして指定された既存のコードの互換性結果からレポートを作成します。

すべて折りたたむ

codeCompatibilityReport を使用してコードの互換性レポートを生成します。

codeCompatibilityReport

このコマンドにより、コード互換性アナライザー アプリが起動し、指定したコード内で検出された互換性の問題を示すレポートが生成されます。レポートの上部にある要約セクションでは、レポートに含まれている情報の概要が示されます。このセクションでは、解析されたファイルの数、解析されたコードで検出されたエラー、警告、および情報メッセージの総数が表示されます。

Code Compatibility Analyzer app

コード互換性アナライザーは、MATLAB の最新バージョンへのコードのアップグレードに役立つ情報を生成します。次の問題のタイプがあります。

  • 構文エラー — 構文エラーの詳細を示す表。構文エラーによってコードは実行不能になります。構文エラーは MATLAB の新しいバージョンでは発生しませんが、互換性の解析に影響を与えます。

  • 削除済みの機能 — 解析されたコードで使用されていて、かつ削除済みの機能の詳細を示す表。例: 'wavfinfo' は削除されました。代わりに 'audioinfo' を使用してください。

  • 動作が変更された機能 — 解析されたコードで使用されていて、かつ動作が変更された機能の詳細を示す表。例: 'legend' は変更されたため、引数名がラベルではなく凡例のプロパティとして解釈される可能性があります。凡例のプロパティと同じ名前のラベルを含めるには、cell 配列または string 配列を使用してラベルを指定します。影響を受けたプロパティ名のリストは、ドキュメンテーションを参照してください。

  • エラーの原因となる可能性があるサポートされていない機能 — サポートされていない機能、ドキュメンテーションにない機能、および使用を想定されていない機能に関する詳細を示す表。サポートされていない機能が原因でエラーおよび予期しない動作の変更が生じる可能性があるため、ドキュメンテーションに記載された機能を使用するようにコードを更新してください。例: 'awtinvoke' はサポートされておらず、予告なしに変更されている可能性や、予告なしに削除される可能性があります。コードを適切に変更し、代わりに javaMethodEDT を使用してください。

  • 削除予定の機能 — 解析されたコードで使用されていて、かつ将来のリリースで削除される機能の詳細を示す表。例: "'aviinfo' は将来のリリースで削除される予定です。代わりに 'VideoReader' を使用してください。"

  • 動作が変更される予定の機能 — 将来のリリースで動作が変更される、解析されたコード内の機能の詳細を示す表。例: "'interp1(...,'cubic')' は、3 次畳み込みを実行するように将来のリリースで変更される予定です。引き続き形状維持区分的 3 次内挿を使用する場合は、代わりに 'interp1(...,'pchip')' を使用してください。"

  • コードを改善し得る新しい機能 — 新しい機能の詳細を示す表。コードの更新を検討してください。現在のコードは将来のリリースでも引き続き動作すると予想されますが、新しい機能が推奨されます。例: "プログラムでの DISPLAY の使用は推奨されません。代わりに DISP または FPRINTF を使用してください。"

既定では、問題は問題タイプでグループ化されます。[グループ化] リストを使用して問題をグループ化する方法を変更できます。レポートをファイルでグループ化します。

Code Compatibility Analyzer report grouped by file.

[重大度でフィルター] リストおよび [問題のタイプでフィルター] リストを使用して、表示されるメッセージをフィルター処理できます。警告のみを表示するようにレポートをフィルター処理します。

Code Compatibility Analyzer report filtered by severity

現在のフォルダーとサブフォルダー内のコードについて、コードの互換性レポートを作成します。レポートは MATLAB Web ブラウザーに開きます。

codeCompatibilityReport

別のレポートを作成します。ただし、解析からサブフォルダーを除外します。

codeCompatibilityReport('IncludeSubfolders',false)

現在の作業フォルダーとサブフォルダー内のコードについて、互換性解析結果を生成します。

r = analyzeCodeCompatibility;

その結果からレポートを作成します。レポートは MATLAB Web ブラウザーに開きます。

codeCompatibilityReport(r)

入力引数

すべて折りたたむ

解析するファイルまたはフォルダーの名前。文字ベクトル、文字ベクトルの cell 配列、string スカラーまたは string 配列として指定します。

ファイルの名前は有効な MATLAB コード ファイルまたはアプリ ファイル (.m.mlx または .mlapp) でなければなりません。

例: '../thisFile.m'

例: {'folderA','folderB','fileA'}

データ型: char | string

サブフォルダーの解析インジケーター。truefalse、0 または 1 として指定します。既定では、analyzeCodeCompatibility は解析にサブフォルダーを含めます。サブフォルダーを除外するには、tffalse または 0 に設定します。

コード互換性解析の結果。CodeCompatibilityAnalysis オブジェクトとして指定します。

詳細

すべて折りたたむ

コードの互換性レポート

コードの互換性レポートには、MATLAB の新しいバージョンへのコードのアップグレードに役立つ情報が含まれています。次のセクションがあります。

  • 構文エラー — 構文エラーの詳細を示す表。たとえば、"~ を使用して値を無視することは、このコンテキスト内で許可されていません" があります。構文エラーによってコードは実行不能になります。構文エラーは MATLAB の新しいバージョンでは発生しませんが、互換性の解析に影響を与えます。

  • 削除済みの機能 — 解析されたコードで使用されていて、かつ削除済みの機能の詳細を示す表。例: 'wavfinfo' は削除されました。代わりに 'AUDIOINFO' を使用してください。

  • 動作が変更された機能 — 解析されたコードで使用されていて、かつ動作が変更された機能の詳細を示す表。例: 'legend' は変更されたため、引数名がラベルではなく凡例のプロパティとして解釈される可能性があります。凡例のプロパティと同じ名前のラベルを含めるには、cell 配列または string 配列を使用してラベルを指定します。影響を受けたプロパティ名のリストは、ドキュメンテーションを参照してください。

  • エラーの原因となる可能性があるサポートされていない機能 — ここにリストされているファイルでは、サポートされていない機能、ドキュメンテーションにない機能、およびお客様による使用を想定されていない機能が使用されています。エラーおよび予期しない動作の変更を回避するため、ドキュメンテーションに記載された機能を使用するようにコードを更新してください。例: 'awtinvoke' はサポートされておらず、予告なしに変更されている可能性や、予告なしに削除される可能性があります。コードを適切に変更し、代わりに javaMethodEDT を使用してください。

  • 削除予定の機能 — 解析されたコードで使用されていて、かつ将来のリリースで削除される機能の詳細を示す表。例: "'aviinfo' は将来のリリースで削除される予定です。代わりに 'VideoReader' を使用してください。"

  • 動作が変更される予定の機能 — 解析されたコードで使用されていて、かつ将来のリリースで動作が変更される機能の詳細を示す表。例: "'interp1(...,'cubic')' は、3 次畳み込みを実行するように将来のリリースで変更される予定です。引き続き形状維持区分的 3 次内挿を使用する場合は、代わりに 'interp1(...,'pchip')' を使用してください。"

  • コードを改善し得る新しい機能 — コードを更新することを検討してください。現在のコードは将来のリリースでも引き続き動作すると予想されますが、新しい機能が推奨されます。例: "プログラムでの DISPLAY の使用は推奨されません。代わりに DISP または FPRINTF を使用してください。"

  • 実行されたチェックの完全なリスト — 指定したコードで実行されたチェックの情報を示す表。

  • 解析されたファイルの完全なリスト — MATLAB がコードの互換性を解析したファイルのリスト。

ヒント

  • レポートを保存するには、関数 codeCompatibilityReport を使用してレポートを生成する代わりに、CodeCompatibilityAnalysis オブジェクトを作成してそれを保存することができます。その後、これらの保存結果からレポートを生成できます。詳細については、既存の解析結果のレポートを作成を参照してください。

代替方法

[アプリ] タブからコードの互換性レポートにアクセスします。[MATLAB] でアプリのアイコン Code Compatibility Analyzer app icon をクリックします。

バージョン履歴

R2017b で導入