Wie viele multiple "Eclipse-Projekte" werden für ein konkretes Entwicklungsprojekt als zu hoch angesehen?

8

Ich arbeite gerade an einem Projekt, das viele verschiedene Eclipse-Projekte enthält, die sich gegenseitig auf ein großes Projekt beziehen. Gibt es einen Punkt, an dem sich ein Entwickler fragen sollte, ob er die Art und Weise, wie sein Entwicklungsprojekt strukturiert ist, überdenken sollte?

HINWEIS: Mein Projekt enthält derzeit mehr als 25 verschiedene Eclipse-Projekte.

    
Ryan Thames 13.01.2009, 21:46
quelle

9 Antworten

10

Meine allgemeine Faustregel ist, dass ich für jede wiederverwendbare Komponente ein neues Projekt erstellen würde. Also zum Beispiel, wenn ich eine isolierte Funktionalität habe, die zB als Jar gepackt werden kann, würde ich ein neues Projekt erstellen, so dass ich die Komponente selbst erstellen, verpacken und verteilen kann.

Auch wenn es bestimmte Projekte gibt, an denen Sie keine häufigen Änderungen vornehmen müssen, können Sie sie nur bei Bedarf erstellen und sie in der Eclipse "geschlossen" halten, um bei der Indizierung usw. Zeit zu sparen Bestimmte Komponenten sind nicht wiederverwendbar, solange sie vom Rest der Codebasis in Bezug auf Logik / Bedenken getrennt sind, können Sie gut davon profitieren, indem Sie sie einfach trennen. Manchmal scheint scheinbar spezifischer Code in einem anderen Projekt oder in einer zukünftigen Version desselben Projekts wiederverwendbar zu sein.

    
neesh 13.01.2009, 21:52
quelle
4

Beim Kompilieren würde ein Projekt normalerweise zu einem Jar führen. Wenn Ihre Anwendung also aus potenziell wiederverwendbaren Komponenten besteht, ist es in Ordnung, für jedes ein Projekt zu verwenden.

Ich bin ein großer Fan von vielen Projekten, ich fühle, dass dies große Dinge "zusammenbricht", was ich nicht mit Paketen machen kann, und hilft mir, mich zu orientieren und zu navigieren.

Wenn Sie Eclipse-Plug-Ins entwickeln, ist natürlich sowieso alles ein Projekt.

Das einzige, worauf ich achten muss, ist die Quellcodeverwaltung und die Fähigkeit, Dateien zwischen Projekten zu verschieben. Die Finsternis hatte mir Probleme gemacht, oder vielleicht war es mein SVN-Server.

    
Uri 13.01.2009 22:03
quelle
4

Wenn Ihr Projekt das viele Unterprojekte oder Module hat, die benötigt werden, um Ihr endgültiges Artefakt zu erstellen, dann ist es an der Zeit, etwas wie Maven zu betrachten und ein Multi-Modul-Projekt einzurichten. Es wird Ihnen erlauben, an jedem Modul unabhängig und ohne Probleme zu arbeiten und eine einfache Einrichtung in Ihrer IDE (und anderen IDEs) durch das mvn eclipse:eclipse -Ziel zu ermöglichen. Beim Erstellen Ihres gesamten Top-Level-Projekts kann maven außerdem aus der Liste der Abhängigkeiten, die Sie beschrieben haben, welche Module in welcher Reihenfolge erstellt werden müssen, abgeleitet werden.

Hier ist ein kurzer Link über Google und al Link zum Buch Maven: The Definitive Guide , das die Dinge in Kapitel 6 (einmal Sie haben die Grundlagen).

Dadurch wird Ihr Projekt auch nicht explizit an Eclipse gebunden. In der Lage zu sein, unabhängig von einer Idee zu bauen, bedeutet, dass jeder Joe Schmoe mitkommen und leicht mit Ihrer Code-Basis arbeiten kann, indem er die Werkzeuge benutzt, die er benötigt.

    
whaley 14.01.2009 12:26
quelle
2

Erstellen Sie Gläser für die Projekte, in denen Sie nicht oft arbeiten. Das sollte die Unordnung stark reduzieren. Wenn Sie häufig an allen Projekten arbeiten, können Sie Ihrem Build Ziele hinzufügen, die die entsprechenden Projekte für Sie zusammenfassen, wodurch alles in einer Datei zusammengefasst wird, die Sie dann in den Klassenpfad einfügen können.

    
Cheese Daneish 13.01.2009 22:02
quelle
2

Eine zusätzliche Methode besteht darin, viele verschiedene Arbeitsbereiche zu erstellen. Der Vorteil separater Arbeitsbereiche besteht darin, dass Sie einen Teil des Overclocking- / Performance-Aufwands für viele Projekte entfernen können. Sie können Ziele verwenden, um alle Ihre Projekte zu erfassen und sie in einem Repository abzulegen, sodass Sie sie in jedem Arbeitsbereich referenzieren können.

    
Milhous 15.01.2009 02:44
quelle
1

Bei einem früheren Job war die gesamte Anwendung mehr als +170 Projekte. Während es selten notwendig war, alle Projekte lokal zu überprüfen, machten selbst die 30-40 Projekte, die ständig in unserem Bereich waren, eine Neuindizierung usw. sehr langsam.

    
Ruben 13.01.2009 21:58
quelle
1

Yeesh. Ein Projekt für jedes Projekt. Wenn Sie wiederverwendbare Projekte verwenden, machen Sie sie zu einer Bibliothek, um Himmels willen. Brechen Sie die nicht wiederverwendbaren Projekte in Pakete, für die sie da sind.

    
WolfmanDragon 13.01.2009 21:58
quelle
1

Das ist eine schwierige Frage und die Antworten reichen von einem Eclipse-Projekt bis hin zu einem Eclipse-Projekt für jede einzelne Klasse.

Mein Fazit:

  1. Sie können zu wenige Projekte haben, und nie zu viele (natürlich verwenden Automatisierung z.B. mvn eclipse: eclipse)
  2. Verwenden -Deplipse.useProjectReferences = true / false Wenn Sie maven zum Wechseln des Arbeitsbereichs verwenden Modus BTW Glas und Projekt Abhängigkeiten
  3. Verwenden Sie mvn release plugin zum Generieren aufeinanderfolgende Freigaben (automatisch Versionserhöhung)
  4. Mehrere Projekte geben Ihnen unabhängige Versionierung, die ist extrem wichtig. Z.B. Ein Entwickler kann an einer neuen Version von a arbeiten Modul, während Sie noch davon abhängen der vorherige und du an einigen Punkt entscheiden, auf das neuere zu aktualisieren Version (möglicherweise durch die Erhöhung der Version in pom.xml Abhängigkeitsbereich). Oder in einem anderen Szenario, wenn eins Projekt enthält einen Fehler, den Sie herabstufen zu seiner vorherigen Version.
  5. Mehrere Projekte lassen einen nachdenken über die Architektur mehr als wenn Sie haben nur Pakete.
  6. Mehrere Projekte machen im Allgemeinen Architekturprobleme offensichtlich mehr als wenn Sie nur ein Projekt haben. Jeder möchte etwas dazu sagen das?
  7. Man weiß nie, ob man projiziert entwickelt sich zu OSGI / SOA / EDA wo Sie brauche Trennung.
  8. Auch wenn du dir 100% sicher bist Projekte werden als ein Jar bereitgestellt auf eine alte Weise in einem einzigen jvm, es tut immer noch nicht weh (mvn montage Plugin) um mehrere Eclipse zu haben Projekte für logisch unabhängig Teile des Codes

Übrigens ist das Projekt, an dem ich arbeite, in 24 Eclipse-Projekte unterteilt.

    
user182377 01.10.2009 10:02
quelle
0

Hölle, wir haben mehr als 100. Projekte kosten nichts.

    
John Stoneham 15.01.2009 02:28
quelle

Tags und Links