Skip to main content

检测代码克隆

要求:

  • CODESYS Static Analysis 已安装。

  • A CODESYS 项目已开放。该项目至少在两个编程对象中包含相同的代码块。

  1. 点击 构建 → 静态分析 → 检测克隆

    克隆检测结果 视图打开。

  2. 点击 _san_icon_result.png 结果.

    检测到的代码克隆在窗口中显示为树形视图。

    如果除了相同的代码克隆之外,还存在有偏差的代码克隆,则这些子节点在树视图中以颜色突出显示。

  3. 在树形视图中,选择一个子节点的两个代码克隆,然后单击 显示选定的克隆 按钮。

    包含此重复代码的两个编程对象在编辑器中打开并显示在视图的上部。

    相同的代码克隆以浅黄色突出显示,有偏差的代码克隆,例如变量名 ivar3ivarx 在本例中,以红色突出显示。

    _san_img_example_codeclone.png
  4. 从编程对象的相同代码克隆创建函数 POU_1,首先在树形视图中双击代码克隆所在行 目的 POU_1.

    编程对象 POU_1 在编辑器中打开,并在实现部分突出显示包含重复代码的四行。

  5. 当您单击 提取功能 命令在突出显示的代码块的上下文菜单中,代码块是从 POU_1 并从中创建一个新方法。实现部分的代码块 POU_1 由方法的调用自动替换。

    在第二个编程对象中,您必须手动删除代码重复并替换方法的调用。

    提示

    在以后的版本中,将扩展该功能,以便从两个编程对象中自动提取重复的代码块,并且可以用正确的函数调用替换它。