Quelle est la signification des paquets org et com en java?Java packages com et org
Répondre
Vous pouvez également voir les noms de paquets comme des noms de domaine Internet inversés (ce qui est souvent également vrai dans le monde réel, voir par exemple le org.apache.commons
qui est corrélé avec http://commons.apache.org). Les com
(commercial) et org
(organization) sont ici alors effectivement Top Level Domain noms.
Les noms de paquets sont en général juste pour identifier le fabricant/fournisseur du code que vous rencontrez.
Selon Sun, les paquets doivent être espacés en fonction de l'inverse de votre nom de domaine, puis suivis de tout ce que vous voulez. La plupart des entreprises ou organisations ont un nom de domaine .com
ou .org
, et donc la plupart des paquets commencent par com.
ou org.
. Pour citer le Sun Code Conventions:
Le préfixe d'un nom de package unique est toujours écrit en lettres ASCII en minuscules et doit être l'un des noms de domaine de premier niveau, actuellement com, edu, gov, mil, net , org, ou l'un des codes à deux lettres anglais identifiant les pays comme spécifié dans la norme ISO 3166, 1981.
Les composants suivants du nom de package varient en fonction des conventions de dénomination internes d'une organisation. De telles conventions peuvent spécifier que certains composants de nom d'annuaire soient des noms de division, de département, de projet, de machine ou de connexion.
Et les exemples qu'ils donnent, rendent assez clair que vous vouliez utiliser les entreprises nom DNS:
com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese
Vous verrez également edu.
et net.
paquets également in the wild, bien qu'ils soient moins communs.
Et si la société change de domaine? –
@LeonardoRaele Généralement dans ce cas, vous entrez dans un monde de douleur ;-) Plus sérieusement, il existe deux options, renommez toutes les classes, qui peuvent fonctionner si le code est interne de toute façon, ou laissez-le en utilisant l'ancien nom, car cela probablement encore être unique de toute façon. –
Quelle est la meilleure convention de dénomination pour quand vous ne faites pas partie d'une organisation ou n'avez pas un site Web? J'ai vu 'me.username' suggéré auparavant mais je ne suis pas sûr que ce soit le meilleur ou le seul standard. –
Habituellement com
est utilisé par les entreprises lors de la désignation des packages, com
étant suivi par le nom de l'entreprise. Par exemple vous avez les paquets com.sun
dans la JVM.
Le préfixe de package org
est principalement utilisé par les organismes sans but lucratif ou pour le code open source, comme apache, w3c, etc.
La convention d'utiliser l'adresse URL d'un comapany .com pour le code interne et .org pour tout code rendu public est une bonne idée. C'est ce que j'ai résumé de cette réponse. – Dennis
Dennis, je ne pense pas que ce serait une bonne idée. Cela signifie que la publication du code changerait les noms des paquets et casserait le logiciel interne qui utilise les noms d'origine. En outre, il y aurait une collision d'espace de noms si example.com et example.org sont la propriété de différentes sociétés et les deux veulent libérer du code Java. – proski
Voir Oracle doc pour le paquet nommant
Voir Naming Conventions pour la classe/Interface/annotations/standard etc nommant
nom du packageet classe syntaxe standard:
< votre domaine re verset>. < nom du projet>. < controller/dao/service/handlers etc>.< votre classe>
example1: (ici domaine: - "stackoverflow.com", projet: - "Test")
com.stackoverfllow.test.handler.TestHandler
: (ici example2 domaine: - "www.google.co.in", projet: - "Mon Proj")
in.co.google.myproj.controller.MainController
mais pour les domaines réservés comme java. *, Javax. *, Le soleil. *, Etc., vous devriez obtenir la permission de la communauté oracle
Et pour garantir l'unicité du nom du package. Je pense que c'est une façon assez intelligente de le faire –
Je peux me tromper, mais com semble inutile à ce stade si tout le monde va l'utiliser. Je préfère utiliser le nom de l'entreprise par lui-même. Je préfère le système de nommage qu'ils ont pour d'autres systèmes d'emballage comme le npm et le compositeur. Ils utilisent 'nom d'utilisateur/nom du paquet' ou quelque chose de similaire. Donc, je nommerais mes paquets dans java en tant que 'nom d'utilisateur.packagename' – OzzyTheGiant