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:
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.
| Pestaña para mostrar los resultados de la búsqueda
|
| 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 | |
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
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í. |