Skip to main content

Comando: Detectar clones

Función: El comando escanea el código del programa del abierto CODESYS proyecto para el código copiado, y abre el Resultados de la detección de clones vista para mostrar los bloques de código clonados detectados. En el proceso, solo los bloques de código más grandes que un tamaño específico se consideran clones. Los fragmentos de código muy pequeños no se muestran como clones.

En este contexto, preste también atención a Extraer función y el Detección de clones de código instrucciones.

Llamar:

  • Construir → Análisis estático menú

  • Análisis estático Menú de contexto

Requisito: El CODESYS Static Analysis proyecto está abierto.

Dos posiciones de código se consideran clones si tienen las siguientes propiedades:

  • Misma composición estructural

  • Las variables tienen el mismo tipo de datos.

  • Los nombres de las variables pueden ser diferentes (excepción: acceso a componentes). Sin embargo, un identificador que está contenido varias veces en el código tiene que estar en el mismo lugar en ambas posiciones del código.

  • Los literales tienen el mismo tipo de datos.

  • Los literales pueden ser diferentes. Un literal que aparece varias veces en el código debe aparecer en el mismo lugar en ambas posiciones del código.

tabla 3. Resultados de la detección de clones Vista

_san_icon_info.png Resumen

Pestaña para mostrar los resultados de la búsqueda

  • Número de secuencias de código clonadas encontradas

  • Número de declaraciones comparadas

  • Número de declaraciones en código clonado

  • Proporción de clones: Especificado como un porcentaje: Número de declaraciones en código clonado / Número de declaraciones comparadas

_san_icon_result.png Resultados

La pestaña muestra los clones de código en una vista de árbol y proporciona comandos y opciones de filtro.

La primera aparición de un duplicado del conjunto de duplicados se toma como nodo raíz. El color de fondo de los nodos secundarios indica si el código es diferente o completamente idéntico. Los mismos colores significan el "mismo código". Los contenidos de la vista de árbol se clasifican en orden descendente por el número de declaraciones del código duplicado.

Comandos y filtros en el _san_icon_result.pngResultados pestaña

Subnodos/Clonar

Número de subnodos (sentencias) en el bloque de código

Si el número de subnodos es inferior a 20, no se considera el clon de código.

Filtrar por objeto

Campo de entrada para un Objeto, por el que se filtra la lista de clones

Mostrar clones seleccionados

Requisito: Se seleccionan dos nodos secundarios del mismo nodo principal.

Ambos objetos de programación se muestran en la parte superior de la vista para comparar. En el proceso, los duplicados de código se resaltan y las diferencias (por ejemplo, diferentes nombres de variables) se resaltan en un color diferente.

Lista de clones de código

columnas

  • Descripción

  • Subnodos/Clonar

  • Objeto

  • Posición

Al hacer doble clic en un nodo secundario, se abre el objeto de programación correspondiente y el bloque de código duplicado se selecciona allí.