Skip to main content

Commande : Détecter les clones

Une fonction: La commande scanne le code programme de la CODESYS projet pour le code copié, et ouvre le Résultats de la détection des clones view pour afficher les blocs de code clonés détectés. Dans le processus, seuls les blocs de code supérieurs à une taille spécifique sont considérés comme des clones. De très petits morceaux de code ne sont pas affichés en tant que clones.

A noter également à cet égard fonction d'extraction et les consignes Détection des clones de code.

Appeler:

  • Construire → Analyse statique menu

  • Analyse statique menu contextuel

Exigence: Le CODESYS Static Analysis projet est ouvert.

Deux positions de code sont considérées comme des clones si elles ont les propriétés suivantes :

  • Même composition structurelle

  • Les variables ont le même type de données.

  • Les noms de variables peuvent être différents (exception : accès aux composants). Cependant, un identifiant qui est contenu plusieurs fois dans le code doit être au même endroit dans les deux positions de code.

  • Les littéraux ont le même type de données.

  • Les littéraux peuvent être différents. Un littéral qui apparaît plusieurs fois dans le code doit apparaître au même endroit dans les deux positions de code.

Tableau 3. Résultats de la détection des clones Voir

_san_icon_info.png Résumé

Onglet pour afficher les résultats de la recherche

  • Nombre de séquences de code clonées trouvées

  • Nombre de relevés comparés

  • Nombre d'instructions dans le code cloné

  • Rapport de clonage: Spécifié en pourcentage : Nombre d'instructions dans le code cloné / Nombre de relevés comparés

_san_icon_result.png Résultats

L'onglet affiche les clones de code dans une arborescence et fournit des commandes et des options de filtrage.

La première occurrence d'un doublon dans l'ensemble de doublons est considérée comme le nœud racine. La couleur de fond des nœuds enfants indique si le code est différent ou complètement identique. Les mêmes couleurs signifient le "même code". Le contenu de l'arborescence est trié par ordre décroissant du nombre d'instructions du code dupliqué.

Commandes et filtres sur le _san_icon_result.pngRésultats languette

Sous-nœuds/clone

Nombre de sous-nœuds (instructions) dans le bloc de code

Si le nombre de sous-nœuds est inférieur à 20, le clone de code n'est pas pris en compte.

Filtrer sur l'objet

Champ de saisie pour un Objet, par lequel la liste des clones est filtrée

Afficher les clones sélectionnés

Condition : deux nœuds enfants du même nœud parent sont sélectionnés.

Les deux objets de programmation sont affichés dans la partie supérieure de la vue à des fins de comparaison. Dans le processus, les doublons de code sont mis en surbrillance et les différences (par exemple, différents noms de variable) sont mises en surbrillance dans une couleur différente.

Liste des clones de code

Colonnes

  • La description

  • Sous-nœuds/clone

  • Objet

  • Position

Un double-clic sur un nœud enfant ouvre l'objet de programmation correspondant et le bloc de code dupliqué y est sélectionné.