Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Conventions de nommage

5 réponses
Avatar
Korchkidu
Bonjour =E0 tous,

J'aimerais =E9crire une biblioth=E8que qui impl=E9mente des classes mais je
n'arrive pas =E0 me d=E9cider entre deux m=E9thodes pour nommer mes classes
(par exemple Truc, Bidule et Machin) sachant que ce sont des classes
qui ont de tr=E8s fortes chances de d=E9j=E0 exister dans de gros programmes=

et que donc, elles seront incluses dans un namespace sp=E9cifique :

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=E9fixant 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.

5 réponses

Avatar
Fabien LE LEZ
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.
Avatar
pjb
Korchkidu writes:

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__
Avatar
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 ;

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
pjb
Mickaël Wolff writes:

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__
Avatar
Korchkidu
On Jul 1, 11:07 am, (Pascal J. Bourguignon)
wrote:
Mickaël Wolff writes:
> 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.