Comando 'Rileva cloni'Permalink

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.

Tab. 932: Visualizza i risultati del rilevamento dei cloni di

_san_icon_info «Sintesi»

Scheda per visualizzare i risultati della ricerca

  • «Numero di sequenze di codice clonate trovate»

  • «Numero di dichiarazioni a confronto»

  • «Numero di istruzioni nel codice clonato»

  • «Rapporto di clonazione»: Specificato come percentuale: «Numero di istruzioni nel codice clonato» / «Numero di istruzioni a confronto»

_san_icon_result «Risultati»

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 _san_icon_result «Results»

«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

  • «Descrizione»

  • «Sottonodi/Clone»

  • «Oggetto»

  • «Posizione»

Facendo doppio clic su un nodo figlio si apre l'oggetto di programmazione corrispondente, dove viene selezionato il blocco di codice duplicato.