Von der Entwicklergruppe wird das Werkzeug Eclipse zur Arbeit am MyCoRe-Projekt empfohlen. Es enthält sowohl Funktionalitäten zur Integration von Subversion wie auch zur Qualitätssicherung des zu erstellenden JAVA-Codes.
Grundsätzlich geht MyCoRe davon aus, dass alle Dateien, die nicht sprachabhängig sind, mit UTF-8 kodiert sind. Dies betrifft vor allem die Dateitypen:
Die Einstellung erfolgt in Eclipse unter:
Um bei der Arbeit mit dem Subversion-System nur inhaltliche Änderungen zu erfassen und diese nicht mit Umformatierungen zu verwechseln, wird der gesamte Code einheitlich nach folgenden Regeln erstellt:
Die Einstellung erfolgt in Eclipse unter:
Eclipse-Nutzer können sich einfach die Code-Style-Definition herunterladen und importieren
(unter: Window -> Preference -> Java -> Code Style -> Formatter).
Auch für die Gestaltung von XML-Dateien wurde eine einheitliche Formatierung festgelegt:
Die Einstellung erfolgt in Eclipse im jeweiligen Projekt unter:
Weiterhin ist die Erkennung von *.xed-Dateien als XML im Editor einzuschalten
Für die Bearbeitung der build.xml verwendet Eclipse einen eigenen Editor. Auch hier müssen die Einstellungen entsprechend geändert werden.
Auch für die Gestaltung von HTML-Dateien wurde eine einheitliche Formatierung festgelegt:
Die Einstellung erfolgt in Eclipse unter:
Bevor ein Codeteil (Javaklasse, Stylesheet oder Konfigurationsdatei) committed wird, sollte diese gründlich getestet werden. Für Java-Klassen ist als erstes sicher zu stellen, dass sie den Compiler-Lauf erfolgreich bestehen. Um auch Konflikte mit anderen Java-Klassen von vorn herein auszuschließen, sollte vor jedem Commit einer Klasse des MyCoRe-Kerns der Aufruf
mvn [-o] clean install
erfolgen. So können Fehler in der Abhängigkeit schneller gefunden werden. Dabei steht -o für Offline. Dies kann genutzt werden, wenn man gerade im Zug oder an ähnlichen Orten entwickelt, wo man offline ist.
Die Datei .project sollte entsprechend der unten angegebenen Darstellung angepasst werden. Anschließend sind sowohl für den MyCoRe-Kern wie auch für die Anwendung noch die Java-Ressourcen zu definieren.
*.jar
bzw. *.zip
Dateien aus mycore/lib
bzw. mycore/components/*/sources
zu verwenden sind. Hinzu
kommen noch ggf Systemweite Pakete (z. B. aus /usr/share/java). Für die Anwendung sollten nur Pakete aus
application/build/lib, nicht aus dem MyCoRe-Baum, integriert werden.
|
|
Code-Beispiel: .project Datei
Eclipse integriert bereits ein Produkt namens JUnit (http://www.junit.org/index.htm).
Mit ihm erhalten Sie ein Werkzeug, welches das Testen der von Ihnen erzeugten Java-Klassen ermöglicht. Alle Test
sind im Verzeichnis
mycore/test
abzulegen. Um einen neuen Test zu generieren, gehen Sie wie folgt vor:
mycore/test
setUp()
und tearDown()
Den Test selbst starten Sie, indem Sie in der Testklasse über die rechte Maustaste 'Run As' --> 'JUnit Test' aufrufen.
Testklassen, die auf Datenbankanfragen angewiesen sind, sollten die Klasse
org.mycore.common.MCRHibTestCase
erweitern.
Alle anderen erweitern
org.mycore.common.MCRTestCase
.
Alle Kommentare sind in Englisch abzufassen. Dabei ist auf allgemein verständliche Sprachkonstrukte zu achten. Der Kommentar soll die kodierten Vorgänge gut beschreiben und für andere nachvollziehbar machen.
Jede Java-Quelltext-Datei hat das nachfolgende Aussehen. Das gestattet ein einheitliches Auftreten des Projektes. Da für alle Dateien mittels JavaDoc automatisch eine Dokumentation generiert wird, ist es Pflicht, die erstellte Klasse mit einer allgemeinen Beschreibung zum Zweck und Einsatz der Klasse zu versehen. Weiterhin sind alle public oder protected Methoden mit einer Beschreibung zu versehen. Hierzu gehört auch die Dokumentation der übergebenen Parameter, der Rückgabewerte und ggf. der geworfenen Exceptions.
|
|
|
|
Auch alle XSLT-Dateien sollen kurze Kommentare enthalten. Unbedingt erforderlich sind auf jeden Fall die Zeilen für die Versionskontrolle. Angestrebt wird folgendes Aussehen eines Stylesheets.
|
|
Alle Logging-Informationen werden, sofern nicht eine Umsetzung mittels der Internationalisierung I18N erfolgt, in Englisch notiert. Für MyCoRe ist das log4j-Paket des Apache-Projektes zu verwenden. Es gib 4 definierte Log-Level mit nachfolgenden Bestimmungen. Es ist davon auszugehen, dass eine normale Anwendung allgemein auf den Level INFO gesetzt ist.
ERROR
– Gibt Informationen zu nicht behebbaren Fehlern, z.B. Exceptions, zurück.WARN
– Gibt Informationen zu Fehlern zurück, welche die Weiterarbeit der Anwendung nicht ausschließen. In
der Regel wird mit Standardwerten weitergearbeitet.INFO
– Gibt allgemeine Informationen für den normalen Anwender bzw. die Log-Datei aus. Diese Nachrichten
haben nur informativen Charakter.DEBUG
– Gibt zusätzliche Informationen, die gezielt durch Einschalten dieses Levels abgerufen werden,
aus.