Codeklone finden
Voraussetzungen:
CODESYS Static Analysis ist installiert.
Ein CODESYS-Projekt ist geöffnet. Das Projekt enthält in mindestens zwei Programmierobjekten einen gleichen Codeblock.
Wählen Sie den Befehl
.Die Ansicht Ergebnisse Klonsuche öffnet sich.
Klicken Sie auf
Ergebnisse.
In einem Fenster werden die gefundenen Codeklone als Baumansicht dargestellt.
Wenn es neben identischen Codeklonen auch Codeklone mit Abweichungen gibt, sind diese Kindknoten in der Baumansicht farblich hervorgehoben.
Selektieren Sie in der Baumansicht zwei Codeklone eines Kindknotens und klicken Sie auf die Schaltfläche Selektierte Klone anzeigen.
Die zwei Programmierobjekte, die diesen duplizierten Code enthalten, werden im Editor geöffnet und im oberen Bereich der Ansicht angezeigt.
Die identischen Codeklone sind hellgelb markiert und die Codeklone mit Abweichungen, wie hier im Beispiel die Variablennamen
ivar3
undivarx
, sind farblich rot hervorgehoben.Um aus dem identischen Codeklon des Programmierobjekts
POU_1
eine Funktion zu erstellen, doppelklicken Sie zunächst in der Baumansicht die Zeile mit dem Codeklon von ObjektPOU_1
.Das Programmierobjekt
POU_1
öffnet sich im Editor und im Implementierungsteil sind die vier Zeilen markiert, die den duplizierten Code enthalten.Wenn Sie im Kontextmenü des markierten Codeblocks den Befehl Funktion extrahieren auswählen, wird der Codeblock aus
POU_1
extrahiert und daraus eine neue Methode erstellt. Der Codeblock im Implementierungsteil vonPOU_1
wird automatisch durch den Aufruf der Methode ersetzt.Im zweiten Programmierobjekt müssen Sie das Codeduplikat manuell entfernen und durch den Aufruf der Methode ersetzen.
Tipp
In einer späteren Version wird die Funktionalität so erweitert, dass aus beiden Progammierobjekten der duplizierte Codeblock automatisch extrahiert und durch den korrekten Funktionsaufruf ersetzt werden kann.