Search the FirstSpirit Knowledge Base
Guten Tag,
ich stelle mir gerade die Frage, wie man in FirstSpirit die Software Qualität messen kann. Alternativ kann man ja, eine Technische Code Analyse mit bspw. SonarQube durchführen. Gibt es in FirstSpirit auch eine Möglichkeit Kennzahlen für die Sofeware Qualität zuerhalten?
Man könnte SonarQube um die FS-Template-Sprache erweitern mittels SSLR - Extend - Doc SonarQube und so:
- die Komplexität in FS-Templates (Ausgabekanäle) messbar machen,
- Prüfung auf übliche Programmierfehler oder Best Practices vornehmen,
- Codezeilen zählen, um einen Eindruck zu bekommen, worüber man redet, wenn man ein Bestandsprojekt vorfindet,
- Abhängigkeiten zwischen Vorlagen analysieren.
usw. Da die meisten eh SonarQube für Java, HTML, JSP usw. verwenden, würde sich das anbieten.
Das ganze würde man anwenden auf einen ExtSync-Export des Template-Stores und würde es z.B. mit Jenkins automatisieren.
Hallo Daniel,
von welcher Art von Quellcode reden wir hier? Könntest Du uns bitte genauere Angaben machen?
Geht es um Java-Quellcode, Java-Script-Quellcode, FirstSpirit-Template-Code oder den fertigen HTML-Quellcode?
Je nachdem gibt es hier ganz unterschiedliche Ansätze.
Grüße
Marian
Hallo Marian,
ich habe an jeglichen Quellcode in FirstSpirit gedacht. Welche unterschiedliche Ansätze existieren denn?
Mit sportlichen Grüßen
Daniel
Hallo Daniel,
Deinen Java-Quellcode oder XML-Quellcode in FirstSpirit-Modulen kann Du natürlich mit Sonar prüfen, was wir intern auch machen. Da hat jeder so seine Profile. Da ist auch ein "Richtig" oder "Falsch" eine Frage der Philosophie. Alle Sonar-Regeln aktivieren bringt z.B. nichts, weil sich ein paar widersprechen. Aber da erzähle ich Dir vermutlich nichts neues. Das gilt für CheckStyle, PMD oder Findbugs ebenso.
Für FirstSpirit-Template gibt es offiziell kein Werkzeug zum Überprüfen des Codes, aber es gibt Empfehlungen bzgl. der Variablenbenennung:
http://www.e-spirit.com/odfs52/vorlagenentwick/variablen/ [Updated Link]
Ich habe mal gehört, dass ein Partner ein FS-Module entwickelt hat, das sowas ähnliches wie einen Code-Health-Check für FS-Projekte gemacht hat, vermutlich wurde es nie marktreif, da es nie zum Verkauf angeboten wurde. Es ist auch ganz schwer FS-Template sinnvoll zu validieren (z.B. HTML oder CSS oder Javascript), da es sich um Fragmente handelt. Natürlich kann man sich selbst ein BeanShell-Script schreiben, was prüft, dass alle FS-Referenznamen einem bestimmten Muster entsprechen. Das machen wohl hin und wieder ein paar Partner in Projekten. ich habe aber hier kein Script herumliegen.
Eigentlich kann man nur das Endresultat einer Generierung, sprich die HTML und CSS Artefakte, einer Validierung unterziehen. Dazu kann man auf Projekte wie
GitHub - ysangkok/w3c-validator-runner
oder
GitHub - validator/validator: The Nu Html Checker
zurückgreifen. Auch mit Sonar kann man anscheinend Web-Artefakte überprüfen:
Vielleicht ist das eher in deinem Sinn. Mit dem Sonar-Runner kann man auch ohne Maven oder Gradle eine Sonar-Analyse durchführen.
Fehler in FirstSpirit-Templates kann man vor der Generierung auch per SiteArchitect überprüfen (Kontextmenü / Fehler der Vorschau).
Grüße Marian
Man könnte SonarQube um die FS-Template-Sprache erweitern mittels SSLR - Extend - Doc SonarQube und so:
- die Komplexität in FS-Templates (Ausgabekanäle) messbar machen,
- Prüfung auf übliche Programmierfehler oder Best Practices vornehmen,
- Codezeilen zählen, um einen Eindruck zu bekommen, worüber man redet, wenn man ein Bestandsprojekt vorfindet,
- Abhängigkeiten zwischen Vorlagen analysieren.
usw. Da die meisten eh SonarQube für Java, HTML, JSP usw. verwenden, würde sich das anbieten.
Das ganze würde man anwenden auf einen ExtSync-Export des Template-Stores und würde es z.B. mit Jenkins automatisieren.
Hi Daniel,
aus meiner Erfahrung: Bei allen Bemühung um die Qualität Messbar zu machen, sollte zunächst ziemlich genau feststehen was man überhaupt messen möchte und was man dann mit diesen Ergebnissen anstellen will. Also man sollte eine ziemlich genaue Vorstellung davon haben, warum etwas gemessen wird.
Das macht es dann sehr einfach:
1. Die Akzeptanz der Messungen zu erhöhen.
2. Eine Auswahl an passenden Tools zu treffen.
Dann sind die oben genannten Ansätze sehr Sinnvoll vielleicht aber auch nicht, weil sie dein Ziel nicht unterstützen.
Ich würde die Liste noch um den Template Analyzer erweitern:
Template Analyzer: ARITHNEA stellt neues Code-Tool für FirstSpirit vor
hab ich gerade gelesen...
Hallo Daniel,
benötigst Du noch weitere Hilfe oder haben Dir die Antworten von Heiko, Phillipp und mir bereits geholfen?
In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.
Viele Grüße
Marian
Hallo Daniel,
wir haben auf der Basis statischer Code-Analyse ein Werkzeug für die Überprüfung des Codes in den Ausgabekanälen gebaut. Da geht es u.a. um die Einhaltung von Coding-Conventions, die als Regeln formuliert werden. Da betrachten wir die von eSpirit beschriebenen Konventionen und auch eine Reihe weiterer Best-Practices.
Das Werkzeug ist bisher bei uns als Hilfsmittel für die eigenen Projekte für die Entwickler und Projektleiter entwickelt worden. Der Sprung zu einem zertifizierten Modul ist bisher nicht gemacht worden. Wir haben das auf dem Kunden- und Partnertag vorgestellt, um da das Interesse auszuloten. Wenn es Interesse gibt, können wir uns gerne Austauschen.
Grüße
Frank