Supposons que vous travaillez sur le module principal du projet foo
pour BarBaz Incorporated. Votre fragment de code pourrait ressembler à ceci:
package com.barbaz.foo.core;
import com.barbaz.foo.util;
Quelle serait la convention si le site Web de votre entreprise n'était pas barbaz.com
, mais plutôt bar-baz.com
?
L'ère du soleil Java Language Specification donne une convention suggérée:
Si le nom de domaine contient un trait d'union ou tout autre caractère spécial non autorisé dans un identifiant (§3.8), convertissez-le en trait de soulignement.
Mais ce n'est qu'une suggestion ...
Je viens de parcourir l'historique de mon navigateur et, au cours des 2 derniers mois, je n'ai visité aucun domaine avec un trait d'union. La convention consiste donc à renommer l'entreprise.
Sinon, omettez le trait d'union, car BazBaz n'inclura jamais le code Baz = Baz dans le leur.
Je voudrais personnellement retirer le trait d'union. Vous pourriez le changer en trait de soulignement, mais cela aurait l'air assez moche.
Il est hautement improbable que ce soit vraiment en conflit avec une autre société du même nom sans les tirets. Même si les deux sociétés sont des sociétés technologiques utilisant toutes deux Java, quelles sont les chances que quelqu'un utilise du code créé par les deux dans la même base de code?
Pour être honnête, je souhaite que Java ne soit pas allé dans cette voie en termes de conventions. Je me demande combien de répertoires appelés "com" ou "org" existent avec un seul membre - un sous-répertoire avec un nom plus significatif.
Déposez simplement le tiret. Le nom du package n'a pas du tout besoin de correspondre au nom du site Web. Il est plus important que les packages produits par l'entreprise soient cohérents afin qu'ils utilisent tous le même nom de package de base.
Je travaille sur beaucoup de trucs gouvernementaux et nous utilisons généralement le trait de soulignement donc bar_baz.