Was sind die besten Praktiken, um Ameisenziele zu benennen?
Was würden Sie zum Beispiel erwarten, dass das Ziel "test" ausgeführt wird? Alle Komponententests? Alle Funktionstests? Beide?
Was sind die Standardnamen für die Ausführung verschiedener Tests (Unit / Functional / All)? Gibt es Standards für Zielnamen, um Software in J2SE zu implementieren? in J2EE?
Mein Projekt verwendet ant für ein Java-Projekt mit Junit, Swing-Anwendungen und J2EE-Anwendungen.
Weitere Informationen finden Sie im Abschnitt "Namenskonventionen" auf dieser Seite: Die Elemente des Ant-Stils
%Vor%Die folgenden Ziele sind vielen Builds gemeinsam. Immer vermeiden, sich zu ändern das Verhalten eines bekannten Zielnamens. Sie müssen nicht implementieren all dies in einem einzigen Projekt.
Diese Seite enthält auch andere gute Richtlinien.
Für meine Java-Projekte verwende ich die Namen, die in maven default lifecycle
Es gibt einen Standard, der ziemlich weit verbreitet ist. Jeder Zielname, der mit dem -Zeichen beginnt, kann nicht über die Befehlszeile aufgerufen werden und muss daher unbedingt einer sein, der nicht direkt ausgeführt werden soll. Manchmal wird dies als verstecktes Ziel bezeichnet.
Solange sie in Ihren Projekten verständlich und konsistent sind, liegt es an Ihnen, was Sie ihnen nennen. Einfache, kurze Verben sind normalerweise die Norm, und Ziele sollten logisch aufgeteilt werden.
Sie können den von Matt B vorgeschlagenen Weg gehen und Ihre Testziele nach Typ benennen:
Sie können auch nach Werkzeug benennen, wenn Sie beispielsweise Funktionstests für Junit, Selenium und Webtest haben:
Wenn Sie das Beschreibungsattribut für Ziele verwenden, die Sie für jeden offen legen möchten, der das Projekt erstellt, können Benutzer ein ant -p
ausführen, um verfügbare Ziele aufzulisten und das gewünschte auszuwählen. Hilfreiche Beschreibungen sind für den Benutzer wahrscheinlich wichtiger und wertvoller als die tatsächlichen Namen der Ziele.
Aus dem Ant-Handbuch :
Das optionale Beschreibungsattribut kann verwendet werden, um eine einzeilige zu liefern Beschreibung dieses Ziels, das ist gedruckt von der -projecthelp Befehlszeilenoption. Ziele ohne Eine solche Beschreibung gilt als intern und wird nicht aufgeführt, es sei denn, beides die Option -verbose oder -debug wird verwendet.
Wir haben gute Erfahrungen mit kurzen und prägnanten Zielnamen gemacht, die von anderen einzelnen Aufgaben abhängen. AFAIK der allgemeine Standardsatz ist
(kann den Link jedoch nicht finden)
was sehr gut für uns funktioniert.
Wenn wir Testtypen unterscheiden mussten, haben wir sie "test.data" und "test.nondata" genannt, um die Testtypen zu trennen, von denen jeder von der Aufgabe "test" abhängt. Vielleicht solltest du die "Benennungskonvention der Java-Methode" als einen anderen vorgeschlagenen Benutzer verwenden, aber IMHO ist das egal.
Wenn Sie das ant-Skript manuell auf Ihrem lokalen Rechner ausführen (was ich tue, um zu testen, ob ich das Build-Skript kaputt gemacht habe), ist es praktisch, wenn Sie nur
eingeben müssen %Vor%statt
%Vor%Ich denke, das ist ein Punkt der persönlichen Vorliebe, aber ich würde
verwendentest
- für Komponententests test-integration
- für Integrationstests dbtest
- für Datenbank-Tests (wenn sie im obigen Element enthalten sind) test-all
, um alle oben genannten Funktionen auszuführen Ich bin auch unabhängig von der Verwendung von test
oder der Pluralform tests
, ich habe wahrscheinlich beide an verschiedenen Projekten gemacht.
Ihre Namenskonvention für Ant-Ziele sollte der Namenskonvention für Java-Methoden sehr ähnlich sein: nämlich einfach und beschreibend, was das Ziel tut.
Hier ist ein Auszug aus dem Sun-Standard für die Methodenbenennung :
Benennen einer Methode
Obwohl ein Methodenname kann jede legale Kennung, Code sein Konventionen beschränken Methodennamen. Durch Konvention sollten Methodennamen a sein Verb in Kleinbuchstaben oder einen Mehrwortnamen das beginnt mit einem Verb in Kleinbuchstaben, gefolgt von Adjektiven, Substantiven usw. Mehrwortnamen, der erste Buchstabe von jedes der zweiten und folgenden Wörter sollte groß geschrieben werden. Hier sind einige Beispiele:
%Vor%
Wahrscheinlich der größte Unterschied ist der Stil für Ameisen-Ziele, die alle unteren verkleinerten Buchstaben mit durch Bindestriche getrennten Wörtern sein sollten.
Die folgenden Ziele erscheinen mir beispielsweise angemessen:
run-all-tests
build
clean
test-and-release
deploy
run-code-coverage-metrics
Versuchen Sie am Ende, das gleiche gute Urteilsvermögen zu verwenden, das Sie beim Benennen von Methoden verwenden. Wenn Ihre Ziele klar, beschreibend und leicht verständlich sind, sind Sie in guter Verfassung.
Weitere Informationen zu diesem Thema finden Sie im Element "Elemente des Ant" im Ant-Wiki.
Tags und Links java ant naming-conventions