Skip to main content

命令:检测克隆

功能:命令扫描打开的程序代码 CODESYS 复制代码的项目,然后打开 克隆检测结果 查看以显示检测到的克隆代码块。在这个过程中,只有大于特定大小的代码块才被认为是克隆。非常小的代码块不会显示为克隆。

在这种情况下,还要注意 提取功能检测代码克隆 指示。

称呼

  • 构建 → 静态分析 菜单

  • 静态分析 上下文菜单

要求: 这 CODESYS Static Analysis 项目已打开。

如果两个代码位置具有以下属性,则它们被视为克隆:

  • 相同的结构组成

  • 变量具有相同的数据类型。

  • 变量名可能不同(例外:组件访问)。但是,在代码中多次包含的标识符必须在两个代码位置的相同位置。

  • 文字具有相同的数据类型。

  • 字面量可能不同。在代码中多次出现的文字必须出现在两个代码位置的相同位置。

3. 克隆检测结果 看法

_san_icon_info.png 概括

选项卡显示搜索结果

  • 找到的克隆代码序列数

  • 比较的语句数

  • 克隆代码中的语句数

  • 克隆比例:指定为百分比: 克隆代码中的语句数 / 比较的语句数

_san_icon_result.png 结果

该选项卡在树视图中显示代码克隆,并提供命令和过滤器选项。

将重复项集中第一次出现的重复项作为根节点。子节点的背景颜色表示代码是不同的还是完全相同的。相同的颜色表示“相同的代码”。树视图的内容按重复代码的语句数降序排列。

上的命令和过滤器 _san_icon_result.png结果 标签

子节点/克隆

代码块中的子节点(语句)数

如果子节点数小于 20,则不考虑代码克隆。

过滤对象

输入字段 目的,通过它过滤克隆列表

显示选定的克隆

要求:选中同一个父节点的两个子节点。

两个编程对象都显示在视图的上部以供比较。在此过程中,代码重复突出显示,差异(例如,不同的变量名称)以不同的颜色突出显示。

代码克隆列表

  • 描述

  • 子节点/克隆

  • 目的

  • 位置

双击一个子节点会打开相应的编程对象,复制的代码块会在那里被选中。