È generalmente considerato una buona pratica per un nome class
per riflettere il nome namespace
in cui esiste, oppure il nome namespace
dovrebbe essere considerato parte del nome class
?
Ad esempio, supponiamo di avere una raccolta di classi che agiscono tutte per filtrare un class Foo
:
class FooFilter
{
public virtual bool operator()(const Foo& obj) const = 0;
};
I sottotipi potrebbero essere chiamati HappyFooFilter
, SadFooFilter
, ... ecc.
Ora se li avvolgiamo in uno spazio dei nomi, abbiamo qualcosa del tipo:
namespace fooFilter
{
class FooFilter ...
class HappyFooFilter ....
class SadFooFilter ...
etc ....
}
Ma questo contiene una ridondanza nei nomi delle classi (ad esempio fooFilter::HappFooFilter
). Quindi, con l'introduzione di namespace fooFilter
, i nomi delle classi dovrebbero cambiare per riflettere questa nuova struttura?
namespace fooFilter
{
class Base ...
class Happy ....
class Sad ...
etc ....
}