Funzione: Il comando analizza il codice del programma del progetto aperto CODESYS alla ricerca di codice copiato e apre la vista «Clone detection results» per visualizzare i blocchi di codice clonati rilevati. Nel processo, solo i blocchi di codice più grandi di una determinata dimensione sono considerati cloni. I pezzi di codice molto piccoli non vengono visualizzati come cloni.
Chiama:
-
Barra dei menu: «Costruire Analisi statica»
-
Menu contestuale: «Analisi statica»
Requisito: Il progetto CODESYS è aperto.
Due posizioni di codice sono considerate cloni se presentano le seguenti proprietà:
-
Stessa composizione strutturale
-
Le variabili hanno lo stesso tipo di dati.
-
I nomi delle variabili possono essere diversi (eccezione: accesso ai componenti). Tuttavia, un identificatore contenuto più volte nel codice deve trovarsi nella stessa posizione in entrambe le posizioni del codice.
-
I letterali hanno lo stesso tipo di dati.
-
I letterali possono essere diversi. Un letterale che ricorre più volte nel codice deve trovarsi nello stesso punto in entrambe le posizioni del codice.
|
|
Scheda per visualizzare i risultati della ricerca
|
|
|
La scheda visualizza i cloni di codice in una vista ad albero e fornisce comandi e opzioni di filtro. La prima occorrenza di un duplicato nell'insieme dei duplicati viene considerata come nodo radice. Il colore di sfondo dei nodi figli indica se il codice è diverso o completamente identico. Gli stessi colori significano "stesso codice". I contenuti della vista ad albero sono ordinati in ordine decrescente in base al numero di dichiarazioni del codice duplicato. |
|
Comandi e filtri nella scheda |
|
|
«Sottonodi/Clone» |
Numero di sottonodi (dichiarazioni) nel blocco di codice Se il numero di sottonodi è inferiore a 20, il clone del codice non viene considerato. |
|
«Filtro sull'oggetto» |
Campo di input per un oggetto , in base al quale viene filtrato l'elenco dei cloni. |
|
«Mostra i cloni selezionati» |
Requisiti: Vengono selezionati due nodi figli dello stesso nodo padre. Entrambi gli oggetti di programmazione vengono visualizzati nella parte superiore della vista per poterli confrontare. Nel processo, i duplicati del codice vengono evidenziati e le differenze (ad esempio, nomi di variabili diversi) sono evidenziate con un colore diverso. |
|
Elenco dei cloni di codice |
Colonne
Facendo doppio clic su un nodo figlio si apre l'oggetto di programmazione corrispondente, dove viene selezionato il blocco di codice duplicato. |