Conventions de nommage

Le
Korchkidu
Bonjour à tous,

J'aimerais écrire une bibliothèque qui implémente des classes mais je
n'arrive pas à me décider entre deux méthodes pour nommer mes classes
(par exemple Truc, Bidule et Machin) sachant que ce sont des classes
qui ont de très fortes chances de déjà exister dans de gros programmes=

et que donc, elles seront incluses dans un namespace spécifique :

1) Comme elles sont incluses dans un namespace, je les appelle tout
simplement Truc, Bidule et Machin. A la charge de l'utilisateur de ne
pas utiliser "using namespace" trop souvent.
2) J'assure le coup en préfixant mes classes, par exemple par "KOR",
et je les appelle KORTruc, KORBidule et KORMachin.

Merci par avance de vos conseils et de vos remarques.
K.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien LE LEZ
Le #10864711
On Mon, 30 Jun 2008 07:49:39 -0700 (PDT), Korchkidu

1) Comme elles sont incluses dans un namespace, je les appelle tout
simplement Truc, Bidule et Machin.



Oui.

A la charge de l'utilisateur de ne
pas utiliser "using namespace" trop souvent.



On n'utilise généralement pas using namespace. Du moins, pas sans en
étudier précisément toutes les conséquences.

Par contre, n'hésite pas à utiliser des sous-namespaces quand c'est
logique.

2) J'assure le coup en préfixant mes classes, par exemple par "KOR",
et je les appelle KORTruc, KORBidule et KORMachin.



Non.
pjb
Le #10868951
Korchkidu
Bonjour à tous,

J'aimerais écrire une bibliothèque qui implémente des classes mais je
n'arrive pas à me décider entre deux méthodes pour nommer mes classes
(par exemple Truc, Bidule et Machin) sachant que ce sont des classes
qui ont de très fortes chances de déjà exister dans de gros programmes
et que donc, elles seront incluses dans un namespace spécifique :

1) Comme elles sont incluses dans un namespace, je les appelle tout
simplement Truc, Bidule et Machin. A la charge de l'utilisateur de ne
pas utiliser "using namespace" trop souvent.
2) J'assure le coup en préfixant mes classes, par exemple par "KOR",
et je les appelle KORTruc, KORBidule et KORMachin.



Oui, il vaut mieux utiliser les namespaces.


Par exemple, pour les enums, enum ne défini pas un namespace, alors il
faudrait le faire soi-même:

namespace Color {
enum Color {
Red,Blue,Green }};

namespace Apple {
enum Apple {
Golden, Red, Green }};

Alors on peut écrire:
Apple fruit_kind=Apple::Red;
Color fruit_color=Color::Red;
sans confusion.



Pour ce qui est des namespaces, je crois que l'on peut "réexporter"
des noms d'un namespace à l'autre non?

Alors tu pourrais utiliser comme namespace:

namespace com {
namespace korchkidu {
namespace libxyz {
class Truc;
class Machin;
class Bidule; }}};

et pour l'utiliser facilement:

namespace kox {
using namespace com::korchkidu::llibxyz;
};

kox::Truc, kox::Machin, etc...


Mais ce dernier namespace est optionnel, et si on doit mélanger le
code avec une autre bibliothèque qui défini un namespace kox, on
pourra toujours définir:

namespce koch {
using namespace com::korchkidu::llibxyz;
};

et utiliser koch::Truc, koch::Machin, etc.


--
__Pascal Bourguignon__
Mickaël Wolff
Le #10870071
Pascal J. Bourguignon a écrit :

Pour ce qui est des namespaces, je crois que l'on peut "réexporter"
des noms d'un namespace à l'autre non?



Tu peux surtout les renommer :

namespace fs = boost::filesystem ;

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
pjb
Le #11160901
Mickaël Wolff
Pascal J. Bourguignon a écrit :

Pour ce qui est des namespaces, je crois que l'on peut "réexporter"
des noms d'un namespace à l'autre non?



Tu peux surtout les renommer :

namespace fs = boost::filesystem ;



Encore plus facile! :-)


--
__Pascal Bourguignon__
Korchkidu
Le #11164651
On Jul 1, 11:07 am, (Pascal J. Bourguignon)
wrote:
Mickaël Wolff > Pascal J. Bourguignon a écrit :

>> Pour ce qui est des namespaces, je crois que l'on peut "réexporter"
>> des noms d'un namespace à l'autre non?

> Tu peux surtout les renommer :

> namespace fs = boost::filesystem ;

Encore plus facile! :-)

--
__Pascal Bourguignon__



Bonjour,

merci à tous pour vos réponses et vos conseils. Je vais donc essayer
de les suivre.

K.
Publicité
Poster une réponse
Anonyme