コマンド:クローンを検索
関数:コマンドは、オープンのプログラムコードを検索します CODESYS-コピーされたコードのプロジェクトとビューを開きます 検索結果のクローンを作成する 見つかったクローンコードブロックを表示します。特定のサイズより大きいコードのブロックのみがクローンと見なされます。非常に小さなコードはクローンとして表示されません。
この点にも注意してください 抽出機能 と指示 コードクローンの検出。
電話:
メニュー
コンテキストメニュー 静的解析
要件: CODESYS Static Analysis-プロジェクトは開いています。
次のプロパティがある場合、2つのコードはクローンと見なされます。
同じ構造設計
変数のデータ型は同じです
変数名は異なる場合があります(例外:コンポーネントアクセス)。ただし、コードに複数回含まれている識別子は、両方のコードで同じ位置にある必要があります。
リテラルのデータ型は同じです
リテラルは異なる場合があります。コードに複数回出現するリテラルは、両方のコードの同じ位置に出現する必要があります。
| 検索結果を表示するためのタブ
|
| タブでは、コードクローンがツリービューに表示され、コマンドとフィルターオプションを使用できます。 重複のセットから重複が最初に発生した場合は、ルートノードと見なされます。子ノードの背景色は、コードが異なるか同一かを表します。同じ色は「同じコード」を意味します。ツリービューの内容は、重複したコード内のステートメントの数の降順で並べ替えられます。 |
タブ内のコマンドとフィルター | |
サブモジュール/クローン | コードブロック内のサブモジュール(命令)の数 サブモジュールの数が20未満の場合、コードクローンは考慮されません。 |
オブジェクトでフィルタリング | の入力フィールド 物体、クローンのコレクションがフィルタリングされます |
選択したクローンを表示する | 要件:同じ親ノードの2つの子ノードが選択されている。 比較のために、2つのプログラミングオブジェクトがビューの上部に表示されます。コードの重複はマークされ、相違点(異なる変数名など)は異なる色で強調表示されます。 |
コードクローンのリスト | 列
子ノードをダブルクリックすると、対応するプログラミングオブジェクトが開き、重複したコードブロックが選択されます。 |