Je connais déjà la convention de dénomination de package Java standard consistant à utiliser un nom de domaine pour créer un nom de package unique (c'est-à-dire package com.stackoverflow.widgets
). Cependant, je n'ai jamais vu de recommandations sur la façon de choisir les noms de package pour les projets personnels. Je suppose parce que c'est parce que c'est vraiment une question de goût personnel.
Alors, comment choisir les noms de packages pour des projets personnels qui ne seront jamais mis en production (vous pourriez expérimenter un nouveau cadre pendant votre temps libre). En supposant que vous ne disposez pas d'un site Web personnel dont vous pouvez utiliser le domaine pour créer la structure de votre package, que faites-vous (ou feriez-vous)? Avez-vous un système logique en place pour générer de nouveaux noms de packages pour les projets de loisirs, ou utilisez-vous simplement des noms de packages simples comme mypackage
?
Puisque je suis simplement curieux de voir ce que pensent les différentes personnes à ce sujet, j'en ai fait un wiki communautaire.
Pour moi personnellement, je n'y ai jamais beaucoup réfléchi, mais je voulais jouer avec Wicket ce soir et je me suis rendu compte que je n'avais pas une idée claire de la façon dont je voulais organiser mes projets de loisirs. Une convention de dénomination de paquet distincte pour les projets de loisirs (du moins dans mon esprit) serait un bon moyen de séparer clairement le code personnel et le code lié au travail.
Je pensais à une simple convention de dénomination hiérarchique, pour conserver la source de mes projets personnels dans un seul dossier racine:
- Utiliser
myprojects
comme dossier racine - Ajouter le nom du projet
- Ajoutez des noms de sous-packages supplémentaires
Ainsi, mon projet Wicket serait dans le package myprojects.learningwicket
et les tests unitaires dans le package myprojects.learningwicket.tests
(par exemple).
la source
onion.duskgytldkxiuqc6.packagename
). Tant que la clé privée reste secrète, vous contrôlez le nom de domaine. Il est donc gratuit de s'inscrire (générer) et c'est permanent (contrairement aux domaines conventionnels). Il est conforme à la lettre de la convention Java et vous identifie de manière unique.Réponses:
Si vous ne faites que des projets personnels où personne d'autre n'utilisera le code, vous pouvez créer un nom de package que vous aimez. Cependant, ne créez pas quelque chose qui commence par
com.
ounet.
ou un autre domaine de premier niveau, car cela impliquerait que vous possédez le nom de domaine (c'est-à-direcom.john
que l' utilisation comme nom de votre package simplement parce que votre nom se trouve être John n'est pas une bonne idée) .Si vous allez donner le code à quelqu'un d'autre, vous devez utiliser un nom de package globalement unique, ce qui, selon les conventions Java, signifie que vous devez vous enregistrer et utiliser un nom de domaine.
la source
com.xyz
doit-il être enregistré quelque part ?? PSxyz
est mon client.com.github.mygithubid.myproject
?J'utilise juste mes initiales: fg.nameofproject.etc
Cela réduit la frappe. Il peut être préfixé à tout moment avec sf.net ou com. ou org. ou com.google ..
Comme le projet est un traitement personnel, il est spécial, tout comme votre chemise cadeau personnalisée fraîchement pressée - elle se sentira bien.
la source
bond.james.007
bond.james._007
- n'a pas la même sonnerie ...: - {la source
<sarcasm>
Bah. Tout programmeur qui se respecte aurait son propre nom de domaine. C'est clairement une question piège. Chacun a son nom de domaine personnel!</sarcasm>
:-)Ok, sérieusement, acheter un nom de domaine personnalisé est probablement l'option la plus simple. Pour environ 10 $ par an, vous pouvez trouver des fournisseurs réputés pour héberger le domaine et transférer les e-mails.
la source
Je stocke la plupart de mes projets de passe - temps dans Google Code, donc je viens d' utiliser le site du projet comme le nom du package:
com.googlecode.donkirkby.someproject
.la source
mon nom est anjan
généralement, j'utilise com.anjan
J'ai ma propre entreprise fantastique - parfois j'utilise ça
la tradition avec sourceforge (comme hibernate et d'autres packages l'ont montré) est net.sf. *
donc, selon votre humeur, vous pouvez y aller.
la source
Je pense que vous avez réussi. La tentation d'éviter ici est de ne pas se soucier du tout d'un nom de paquet. Il est facile d'enregistrer quelques frappes au clavier, car "J'écris juste du code de test". Mais ensuite, le code devient bon, utile et volumineux, puis vous réalisez que vous avez un bon départ pour ce qui peut être une bibliothèque ou une application de longue durée. Ce n'est peut-être pas une bibliothèque ou une application qui quitte votre réseau domestique, mais le fait est que vous n'avez pas réfléchi à l'avance. C'est le fantôme danois de l'informatique - pensez toujours à l'avance, ne serait-ce qu'un peu.
La convention de dénomination que j'utilise pour mon code de passe-temps ressemble beaucoup au vôtre. J'ai un répertoire de premier niveau nommé "futura" (raisons longues et ennuyeuses pour lesquelles ce nom est venu) sur lequel tout mon code est suspendu. J'essaie d'organiser mon code dans des bibliothèques de packages, même s'il s'agit d'une classe ou d'un package que je n'utilise jamais pour un autre projet. Je place toutes les applications (c'est-à-dire tout ce qui a un void main (String [] args) dans la classe) dans le dossier futura.app. *. J'essaie également d'imiter les noms de paquetages de bibliothèques Java standard pour mon propre code, bien que dans certains cas, j'ai rompu les conventions à cause de mes propres goûts (par exemple, futura.inet pour Internet, pas simplement socket, code et futura.collections pour non - trucs utilitaires.) Pour paraphraser David Mamet: Soyez toujours générique. Soyez toujours générique!
D'après le soin que vous avez utilisé pour publier la question, je suppose que vous êtes également d'accord avec mon dernier point: vous n'avez pas à traiter le piratage amateur comme un projet au niveau de l'entreprise, mais si vous apportez une partie de cette discipline au jeu à domicile, le hobby est d'autant plus gratifiant.
la source
J'utilise mon URL OpenID puis j'ajoute le nom de mon projet. par exemple,
com.myopenid.cd1.twitter
est le package racine d'un client Twitter que j'ai développé.la source
Ma nomination:
prj.project_name
.la source
J'utilise juste mon nom: patronyme.initials.xxx, comme un bon compromis entre la brièveté et la prévention des collisions. J'ai pensé que cela donnerait un espace de noms raisonnable sans collision si jamais je choisissais de publier publiquement le code. J'ai aussi un petit programme que j'ai écrit qui peut reconditionner des arborescences de répertoires entières, alors j'ai pensé que si je devais un jour reconditionner pour la publication, c'était assez indolore ... donc je n'ai pas trop perdu de sommeil.
Après le nom de famille.initials.xxx, j'utilise l'une ou l'autre application pour les packages d'application, lib pour les packages de bibliothèque et tst pour les éléments que je suis en train d'expérimenter.
la source
ce que vous pensez de lastname.firstname.project ??? comme luz.marlon.project?
la source
J'ai pensé à poser cette même question. Jusqu'à présent, j'ai utilisé le préfixe com.tehvan, même si je n'ai pas d'entreprise.
la source