17-10-2010, 01:48 PM
Je ne suis pas sûr d'avoir compris la question mais je vais tenter de répondre avec ce que j'ai compris.
Si je dispose de vrais namespaces (à la Java par exemple) et que j'ai 2 fois le même namespace avec la même classe, je vais avoir un conflit de nom de classe (pire, une classe va en écraser une autre si j'essaye de l'importer au sein de mon projet).
Mais normalement, les développeurs sont assez intelligents pour éviter ce genre de cas (on retrouve souvent le nom de la boite/organisation/association avant le début du projet par exemple).
D'ailleurs le problème est similaire avec PHP, et les gens l'ont résolu avec des underscores pour représenter une pseudo arborescence de package.
Il m'est déjà arrivé par exemple d'avoir un composant jquery qui réponde à 90% des besoins et je dois trouver un moyen pour rajouter les 10% restants.
Ce que je fais assez souvent, je wrap le composant actuel dans un nouveau plug-in/widget jquery et je rajoute les nouvelles fonctionnalités qui m'intéressent (afin de na pas modifier directement la librairie).
Cependant le rôle de ce composant n'a pas vraiment changé, j'ai juste rajouté une fonction ou deux tout au plus, pour moi le composant doit garder le même nom...
Avec un vrai système de namespace, cette problématique peut être résolue : C'est un composant personnel, donc je le range dans un package personnel, et je peux me servir des deux composants quoiqu'il arrive.
Si je dispose de vrais namespaces (à la Java par exemple) et que j'ai 2 fois le même namespace avec la même classe, je vais avoir un conflit de nom de classe (pire, une classe va en écraser une autre si j'essaye de l'importer au sein de mon projet).
Mais normalement, les développeurs sont assez intelligents pour éviter ce genre de cas (on retrouve souvent le nom de la boite/organisation/association avant le début du projet par exemple).
D'ailleurs le problème est similaire avec PHP, et les gens l'ont résolu avec des underscores pour représenter une pseudo arborescence de package.
Il m'est déjà arrivé par exemple d'avoir un composant jquery qui réponde à 90% des besoins et je dois trouver un moyen pour rajouter les 10% restants.
Ce que je fais assez souvent, je wrap le composant actuel dans un nouveau plug-in/widget jquery et je rajoute les nouvelles fonctionnalités qui m'intéressent (afin de na pas modifier directement la librairie).
Cependant le rôle de ce composant n'a pas vraiment changé, j'ai juste rajouté une fonction ou deux tout au plus, pour moi le composant doit garder le même nom...
Avec un vrai système de namespace, cette problématique peut être résolue : C'est un composant personnel, donc je le range dans un package personnel, et je peux me servir des deux composants quoiqu'il arrive.