2011-06-14 3 views
2

Pour la toute première fois, j'ai l'opportunité de démarrer un nouveau projet.comment démarrer un nouveau projet

Je suis à l'aise avec la structure du projet en ce qui concerne le «développement». Il a les habituels répertoires 'src', 'lib', 'resources', 'test', etc. J'ai déjà cette structure dans le projet Eclipse.

Je ne peux pas décider quelle devrait être la structure dir dans le contrôle de source. Je pense actuellement comme suit:

/sourcecontrol/branch/MyProject: 
-dev 
---- Here I will have dirs that make up the 'Eclipse' project. 
-dbscripts 
---- sql Scripts for any DB Schema change 
-documentation 
---- UserGuide.pdf 
---- DeveloperGuide.pdf 
---- Other such docs 
-sh 
---- Here I will have the scripts to deploy, start, and stop the web server. 
-notes 
---- Here I will store random 'helpful notes' that developers can create for other developers. 

L'idée est que quand quelqu'un veut simplement « développer » le projet, ils peuvent vérifier que le répertoire « dev ».

Est-ce une bonne idée? Des suggestions de votre expérience passée? J'ai été incapable de trouver les «meilleures pratiques» pour un nouveau projet qui ne parle pas de 'src', 'test', 'lib', etc.

EDIT: Si cela aide, c'est un ressort java + hibernate webapp

EDIT2: Ceci est ma préoccupation à partir de maintenant: La structure du projet Eclipse doit-elle être la structure du projet dans le contrôle Source? Si tel est le cas, le répertoire de base du projet Eclipse deviendra également le répertoire de base du projet de contrôle source.

+0

Je n'aurais pas de répertoire 'notes' distinct pour les notes du développeur, mettez toutes ces informations dans le guide du développeur. Aussi, sauf si vous avez l'habitude d'éditer des fichiers PDF, je stockerais la documentation/guides comme.doc ou autre, juste les convertir en PDF quand ils sont distribués. – Qwerky

Répondre

5

Quelques notes:

  • éviter de vérifier dans la configuration IDE.
  • Utiliser la mise en page de style Maven pour le code source (src/main/java, src/test/java)
  • SQL peut également être organisé dans un style similaire à savoir src/main/sql.
  • Selon la complexité du projet envisager des modules séparés (pots) pour l'API, la mise en œuvre, SQL, installateur, etc. Maven a un support intégré pour les projets multi-modules:
+3

J'ai tendance à être en désaccord sur le premier article. Bien sûr: votre système de construction ne devrait pas dépendre de l'information * seulement * trouvée dans les fichiers de configuration IDE, mais avoir une bonne expérience de "vérifier et juste travailler" dans votre IDE préféré n'est pas une si mauvaise chose. –

+1

mon équipe s'attend réellement à ce que eclipse config soit enregistré. Ainsi, tout le monde peut faire un checkout dans Eclipse SVN, et être rapidement opérationnel – rk2010

+1

Et src/main/scripts, src/main/docs. A propos des fichiers de configuration IDE: c'est bien s'ils sont enregistrés et "fonctionnent", mais c'est encore pire s'ils sont archivés et qu'ils contiennent des informations spécifiques à l'environnement d'une personne (que j'ai vu aussi souvent). – Kevin

1

Si vous ne trouvez pas de bonnes pratiques qui ne parlent pas des répertoires src, test et lib, ont été un indice que leur création était la meilleure pratique communément exclue. Je suppose que vous pouvez les créer sous votre répertoire de développement.

+0

Peut-être que mon message n'était pas si clair. J'ai déjà ces dirs dans mon répertoire de développement. – rk2010

+0

Notez que le fait d'avoir un répertoire 'lib' n'est utile que si votre système de compilation ne gère pas vos dépendances pour vous. Maven/Ant + Ivy/Gradle par exemple captureraient leurs dépendances de sources externes. Dans ces cas, avoir un répertoire 'lib' serait en fait le signe d'un problème. –

+0

@Joachim Sauer: Cela a du sens. Je pensais à la question du strict point de vue d'Eclipse. – Olaf

0

Veuillez noter que la plupart des Java IDsE (Eclipse/IntelliJ/Netbeans) prennent en charge Maven. En outre, il existe des plugins Maven pour démarrer et arrêter la plupart des serveurs Web.

La façon la plus simple pour vous de commencer serait de

Étape 1. Téléchargez et configurer Maven. (NetBeans 7.0 est livré avec le support Maven intégré)

Étape2. Lire sur AppFuse au http://www.ibm.com/developerworks/java/library/j-appfuse/

Étape3. Recherchez et utilisez le type d'application AppFuse approprié pour votre projet sur AppFuse.

Questions connexes